procs
This commit is contained in:
@@ -47,7 +47,7 @@
|
||||
UnregisterSignal(value, COMSIG_PARENT_QDELETING)
|
||||
src.value = datatype_handler.convert_value(src, value)
|
||||
if(isatom(value))
|
||||
RegisterSignal(value, COMSIG_PARENT_QDELETING, .proc/null_value)
|
||||
RegisterSignal(value, COMSIG_PARENT_QDELETING, PROC_REF(null_value))
|
||||
SEND_SIGNAL(src, COMSIG_PORT_SET_VALUE, value)
|
||||
|
||||
/**
|
||||
@@ -167,9 +167,9 @@
|
||||
*/
|
||||
/datum/port/input/proc/connect(datum/port/output/output)
|
||||
connected_ports |= output
|
||||
RegisterSignal(output, COMSIG_PORT_SET_VALUE, .proc/receive_value)
|
||||
RegisterSignal(output, COMSIG_PORT_SET_TYPE, .proc/check_type)
|
||||
RegisterSignal(output, COMSIG_PORT_DISCONNECT, .proc/disconnect)
|
||||
RegisterSignal(output, COMSIG_PORT_SET_VALUE, PROC_REF(receive_value))
|
||||
RegisterSignal(output, COMSIG_PORT_SET_TYPE, PROC_REF(check_type))
|
||||
RegisterSignal(output, COMSIG_PORT_DISCONNECT, PROC_REF(disconnect))
|
||||
// For signals, we don't update the input to prevent sending a signal when connecting ports.
|
||||
if(!(datatype_handler.datatype_flags & DATATYPE_FLAG_AVOID_VALUE_UPDATE))
|
||||
set_input(output.value)
|
||||
@@ -199,7 +199,7 @@
|
||||
*/
|
||||
/datum/port/input/proc/receive_value(datum/port/output/output, value)
|
||||
SIGNAL_HANDLER
|
||||
SScircuit_component.add_callback(CALLBACK(src, .proc/set_input, value))
|
||||
SScircuit_component.add_callback(CALLBACK(src, PROC_REF(set_input), value))
|
||||
|
||||
/// Signal handler proc to null the input if an atom is deleted. An update is not sent because this was not set by anything.
|
||||
/datum/port/proc/null_value(datum/source)
|
||||
|
||||
Reference in New Issue
Block a user