mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
TGUI APCs TGUI vending machines Fix AI default_tgui_interaction TGUI Airlocks Station & Atmospheric Alert TGUI + Misc NTOS-TGUI Fixes TGUI Air Alarms & Central Atmospheric Control Airlock TGUI TG... got rid of UI for fire alarm. í´· TGUI Gas Heating/Cooling System TGUI Gas Pump & Passive Gate + Fixes TGUI Omni Atmospherics TGUI Pipe Dispensers & RPD TGUI IntelliCore & Vending Fix TGUI Handheld Tanks TGUI Portable Pump & Scrubber TGUI Tank Dispenser & Canisters TGUI Radios TGUI SMES & Air Alarm adjustment Tweak vending machine interfaces a tad TGUI Algae Farm TGUI general_air_control - Distro & Waste Console - Riot Control Console - Atmos Intake Console - Engine Cooling Console TGUI Heavy Scrubber Control (and body scanner fix) TGUI trinary devices & shutoff monitor TGUI Telecomms Log Browser TGUI Telecomms Machine Browser TGUI Spaceheater Internal Panel TGUI Gravity Generator TGUI Id Cards & Fix ID Card Images TGUI Id Card Redesign TGUI Turbolift TGUI Suit Cycler & Suit Storage Unit & Vending Fixes TGUI Power Monitor TGUI Signalers TGUI Employment Records TGUI Drone Console TGUI RIGSuits TGUI PA & PACMAN, and Margin Fix TGUI Solar Panels & Fix Power Monitor Adjust TGUI modules & their interaction with NTOS TGUI RCON TGUI Message Monitor Bump TGUI line limit to 120 (ParadiseSS13/Paradise#14002) TGUI Exonet & NTNet Relay TGUI Telecomms Multitool Menu TGUI Shield Capacitor & Shield Generator TGUI Supermatter-everything & Refactors
53 lines
1.6 KiB
Plaintext
53 lines
1.6 KiB
Plaintext
// Provides remote access to a controller (since they must be unique).
|
|
// TGUITODO: Actually make these weird things work... well, as much as possible.
|
|
/obj/machinery/dummy_airlock_controller
|
|
name = "airlock control terminal"
|
|
icon = 'icons/obj/airlock_machines.dmi'
|
|
icon_state = "airlock_control_standby"
|
|
layer = ABOVE_OBJ_LAYER
|
|
var/id_tag
|
|
|
|
var/datum/topic_state/remote/remote_state
|
|
var/obj/machinery/embedded_controller/radio/airlock/master_controller
|
|
|
|
/obj/machinery/dummy_airlock_controller/process()
|
|
if(master_controller)
|
|
appearance = master_controller
|
|
. = ..()
|
|
|
|
/obj/machinery/dummy_airlock_controller/Initialize()
|
|
. = ..()
|
|
if(id_tag)
|
|
for(var/obj/machinery/embedded_controller/radio/airlock/_master in SSmachines.machinery)
|
|
if(_master.id_tag == id_tag)
|
|
master_controller = _master
|
|
master_controller.dummy_terminals += src
|
|
break
|
|
if(!master_controller)
|
|
qdel(src)
|
|
else
|
|
remote_state = new /datum/topic_state/remote(src, master_controller)
|
|
|
|
/obj/machinery/dummy_airlock_controller/Destroy()
|
|
if(master_controller)
|
|
master_controller.dummy_terminals -= src
|
|
if(remote_state)
|
|
qdel(remote_state)
|
|
remote_state = null
|
|
return ..()
|
|
|
|
/obj/machinery/dummy_airlock_controller/interface_interact(var/mob/user)
|
|
open_remote_ui(user)
|
|
return TRUE
|
|
|
|
/obj/machinery/dummy_airlock_controller/proc/open_remote_ui(var/mob/user)
|
|
if(master_controller)
|
|
appearance = master_controller
|
|
return master_controller.ui_interact(user, state = remote_state)
|
|
|
|
/obj/machinery/dummy_airlock_controller/powered(var/chan = -1, var/area/check_area = null)
|
|
if(master_controller)
|
|
var/area/A = get_area(master_controller)
|
|
return master_controller.powered(chan, A)
|
|
return ..()
|