Files
CHOMPStation2/code/game/machinery/embedded_controller/embedded_program_base.dm
2024-02-16 10:54:47 +01:00

32 lines
899 B
Plaintext

/datum/embedded_program
var/name
var/list/memory = list()
var/obj/machinery/embedded_controller/master
var/id_tag
/datum/embedded_program/New(var/obj/machinery/embedded_controller/M)
master = M
if (istype(M, /obj/machinery/embedded_controller/radio))
var/obj/machinery/embedded_controller/radio/R = M
id_tag = R.id_tag
/datum/embedded_program/Destroy()
if(master)
master.program = null
master = null
return ..()
// Return TRUE if was a command for us, otherwise return FALSE (so controllers with multiple programs can try each in turn until one accepts)
/datum/embedded_program/proc/receive_user_command(command)
return FALSE
/datum/embedded_program/proc/receive_signal(datum/signal/signal, receive_method, receive_param)
return
/datum/embedded_program/proc/post_signal(datum/signal/signal, comm_line)
if(master)
master.post_signal(signal, comm_line)
else
qdel(signal)