TGUI Stacking Machine

This commit is contained in:
ShadowLarkens
2020-08-16 22:27:09 -07:00
parent 5bbd5334b6
commit d769358194
2 changed files with 82 additions and 30 deletions
+31 -30
View File
@@ -25,46 +25,47 @@
/obj/machinery/mineral/stacking_unit_console/attack_hand(mob/user)
add_fingerprint(user)
interact(user)
tgui_interact(user)
/obj/machinery/mineral/stacking_unit_console/interact(mob/user)
user.set_machine(src)
/obj/machinery/mineral/stacking_unit_console/tgui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
ui = new(user, src, "MiningStackingConsole", name)
ui.open()
var/dat
dat += text("<h1>Stacking unit console</h1><hr><table>")
/obj/machinery/mineral/stacking_unit_console/tgui_data(mob/user)
var/list/data = ..()
data["stacktypes"] = list()
for(var/stacktype in machine.stack_storage)
if(machine.stack_storage[stacktype] > 0)
dat += "<tr><td width = 150><b>[capitalize(stacktype)]:</b></td><td width = 30>[machine.stack_storage[stacktype]]</td><td width = 50><A href='?src=\ref[src];release_stack=[stacktype]'>\[release\]</a></td></tr>"
dat += "</table><hr>"
dat += text("<br>Stacking: [machine.stack_amt] <A href='?src=\ref[src];change_stack=1'>\[change\]</a><br><br>")
data["stacktypes"].Add(list(list(
"type" = stacktype,
"amt" = machine.stack_storage[stacktype],
)))
data["stackingAmt"] = machine.stack_amt
return data
user << browse("[dat]", "window=console_stacking_machine")
onclose(user, "console_stacking_machine")
/obj/machinery/mineral/stacking_unit_console/Topic(href, href_list)
/obj/machinery/mineral/stacking_unit_console/tgui_act(action, list/params)
if(..())
return 1
return TRUE
if(href_list["change_stack"])
var/choice = input("What would you like to set the stack amount to?") as null|anything in list(1,5,10,20,50)
if(!choice) return
machine.stack_amt = choice
switch(action)
if("change_stack")
machine.stack_amt = clamp(text2num(params["amt"]), 1, 50)
. = TRUE
if(href_list["release_stack"])
if(machine.stack_storage[href_list["release_stack"]] > 0)
var/stacktype = machine.stack_paths[href_list["release_stack"]]
var/obj/item/stack/material/S = new stacktype (get_turf(machine.output))
S.amount = machine.stack_storage[href_list["release_stack"]]
machine.stack_storage[href_list["release_stack"]] = 0
S.update_icon()
if("release_stack")
var/stack = params["stack"]
if(machine.stack_storage[stack] > 0)
var/stacktype = machine.stack_paths[stack]
var/obj/item/stack/material/S = new stacktype(get_turf(machine.output))
S.amount = machine.stack_storage[stack]
machine.stack_storage[stack] = 0
S.update_icon()
. = TRUE
src.add_fingerprint(usr)
src.updateUsrDialog()
return
add_fingerprint(usr)
/**********************Mineral stacking unit**************************/