Better way of handling timers

This commit is contained in:
Citinited
2018-07-12 20:06:47 +01:00
parent 50a96f13c7
commit 83f33163ce
2 changed files with 5 additions and 7 deletions
+4 -6
View File
@@ -9,7 +9,6 @@ var/list/doppler_arrays = list()
anchored = 1
atom_say_verb = "states coldly"
var/list/logged_explosions = list()
var/printer_timer
/datum/explosion_log
var/logged_time
@@ -83,15 +82,14 @@ var/list/doppler_arrays = list()
if(!logged_explosions.len)
atom_say("<span class='notice'>No logs currently stored in internal database.</span>")
return
if(printer_timer)
if(active_timers)
to_chat(user, "<span class='notice'>[src] is already printing something, please wait.</span>")
return
atom_say("<span class='notice'>Printing explosive log. Standby...</span>")
printer_timer = addtimer(CALLBACK(src, .proc/print), 50)
addtimer(CALLBACK(src, .print), 50)
/obj/machinery/doppler_array/proc/print()
printer_timer = FALSE
visible_message("<span class='notice'>[src] rattles off a sheet of paper!</span>")
visible_message("<span class='notice'>[src] prints a piece of paper!</span>")
playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1)
var/obj/item/paper/explosive_log/P = new(get_turf(src))
for(var/datum/explosion_log/E in logged_explosions)
@@ -177,7 +175,7 @@ var/list/doppler_arrays = list()
"theoretical_size_message" = E.theoretical_size_message,
"unique_datum_id" = E.unique_datum_id))
data["explosion_data"] = explosion_data
data["printer_timer"] = printer_timer
data["printing"] = active_timers
return data
/obj/machinery/doppler_array/Topic(href, href_list)
+1 -1
View File
@@ -21,5 +21,5 @@
</div>
{{/for}}
<br/>
{{:helper.link("Print all logs", "print", {"print_logs": 'yes'}, data.printer_timer ? 'disabled' : null)}}
{{:helper.link("Print all logs", "print", {"print_logs": 'yes'}, data.printing ? 'disabled' : null)}}
{{/if}}