TGUI Engineering... and a bunch of other random things

This commit is contained in:
ShadowLarkens
2020-09-24 21:54:18 -07:00
parent aebfc19991
commit dad9020f9a
373 changed files with 15493 additions and 17584 deletions

View File

@@ -75,12 +75,18 @@
update_icon()
/obj/machinery/atmospherics/unary/heater/attack_ai(mob/user as mob)
ui_interact(user)
tgui_interact(user)
/obj/machinery/atmospherics/unary/heater/attack_hand(mob/user as mob)
ui_interact(user)
tgui_interact(user)
/obj/machinery/atmospherics/unary/heater/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
/obj/machinery/atmospherics/unary/heater/tgui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
ui = new(user, src, "GasTemperatureSystem", name)
ui.open()
/obj/machinery/atmospherics/unary/heater/tgui_data(mob/user)
// this is the data which will be sent to the ui
var/data[0]
data["on"] = use_power ? 1 : 0
@@ -91,39 +97,31 @@
data["targetGasTemperature"] = round(set_temperature)
data["powerSetting"] = power_setting
var/temp_class = "normal"
var/temp_class = "average"
if(air_contents.temperature > (T20C+40))
temp_class = "bad"
data["gasTemperatureClass"] = temp_class
// update the ui if it exists, returns null if no ui is passed/found
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
if(!ui)
// the ui does not exist, so we'll create a new() one
// for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm
ui = new(user, src, ui_key, "freezer.tmpl", "Gas Heating System", 440, 300)
// when the ui is first opened this is the data it will use
ui.set_initial_data(data)
// open the new ui window
ui.open()
// auto update every Master Controller tick
ui.set_auto_update(1)
return data
/obj/machinery/atmospherics/unary/heater/Topic(href, href_list)
/obj/machinery/atmospherics/unary/heater/tgui_act(action, params)
if(..())
return 1
if(href_list["toggleStatus"])
update_use_power(!use_power)
update_icon()
if(href_list["temp"])
var/amount = text2num(href_list["temp"])
if(amount > 0)
set_temperature = min(set_temperature + amount, max_temperature)
else
set_temperature = max(set_temperature + amount, 0)
if(href_list["setPower"]) //setting power to 0 is redundant anyways
var/new_setting = between(0, text2num(href_list["setPower"]), 100)
set_power_level(new_setting)
return TRUE
. = TRUE
switch(action)
if("toggleStatus")
update_use_power(!use_power)
update_icon()
if("setGasTemperature")
var/amount = text2num(params["temp"])
if(amount > 0)
set_temperature = min(amount, max_temperature)
else
set_temperature = max(amount, 0)
if("setPower") //setting power to 0 is redundant anyways
var/new_setting = between(0, text2num(params["value"]), 100)
set_power_level(new_setting)
add_fingerprint(usr)