From c73706363c44a6cc8bef171f28f2b2c145fd8b30 Mon Sep 17 00:00:00 2001 From: variableundefined <40092670+variableundefined@users.noreply.github.com> Date: Tue, 20 Oct 2020 20:42:15 -0400 Subject: [PATCH 1/3] Update Satellite Control to TGUI --- code/modules/station_goals/shield.dm | 46 +++++++++-------- nano/templates/sat_control.tmpl | 32 ------------ .../tgui/interfaces/SatelliteControl.js | 51 +++++++++++++++++++ tgui/packages/tgui/public/tgui.bundle.js | 8 +-- 4 files changed, 81 insertions(+), 56 deletions(-) delete mode 100644 nano/templates/sat_control.tmpl create mode 100644 tgui/packages/tgui/interfaces/SatelliteControl.js diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index 4bf18263310..6c9a34e3b24 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -50,28 +50,15 @@ /obj/machinery/computer/sat_control/attack_hand(mob/user) if(..()) return 1 - ui_interact(user) + tgui_interact(user) -/obj/machinery/computer/sat_control/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open) +/obj/machinery/computer/sat_control/tgui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.tgui_default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "sat_control.tmpl", name, 475, 400) + ui = new(user, src, ui_key, "SatelliteControl", name, 475, 400) ui.open() -/obj/machinery/computer/sat_control/Topic(href, href_list) - if(..()) - return 1 - - if(href_list["toggle"]) - toggle(text2num(href_list["id"])) - . = TRUE - -/obj/machinery/computer/sat_control/proc/toggle(id) - for(var/obj/machinery/satellite/S in GLOB.machines) - if(S.id == id && atoms_share_level(src, S)) - S.toggle() - -/obj/machinery/computer/sat_control/ui_data(mob/user, ui_key = "main", datum/topic_state/state = GLOB.default_state) +/obj/machinery/computer/sat_control/tgui_data(mob/user) var/list/data = list() data["satellites"] = list() @@ -91,6 +78,24 @@ data["meteor_shield_coverage_percentage"] = (G.get_coverage() / G.coverage_goal) * 100 return data +/obj/machinery/computer/sat_control/tgui_act(action, params) + if(..()) + return + + switch(action) + if("toggle") + toggle(text2num(params["id"])) + . = TRUE + +/obj/machinery/computer/sat_control/proc/toggle(id) + for(var/obj/machinery/satellite/S in GLOB.machines) + if(S.id == id && atoms_share_level(src, S)) + if(!S.toggle()) + notice = "You can only activate satellites which are in space" + else + notice = null + + /obj/machinery/satellite name = "Defunct Satellite" desc = "" @@ -118,8 +123,8 @@ /obj/machinery/satellite/proc/toggle(mob/user) if(!active && !isinspace()) if(user) - to_chat(user, "You can only active the [src] in space.") - return TRUE + to_chat(user, "You can only activate satellites which are in space.") + return FALSE if(user) to_chat(user, "You [active ? "deactivate": "activate"] the [src]") active = !active @@ -130,6 +135,7 @@ animate(src, pixel_y = 0, time = 10) anchored = 0 update_icon() + return TRUE /obj/machinery/satellite/update_icon() icon_state = active ? "sat_active" : "sat_inactive" diff --git a/nano/templates/sat_control.tmpl b/nano/templates/sat_control.tmpl deleted file mode 100644 index a3b5ad40cb1..00000000000 --- a/nano/templates/sat_control.tmpl +++ /dev/null @@ -1,32 +0,0 @@ - -{{if data.notice}} -