Goonstation 13 - Modules - TypesDefine Details

_std/defines/component_defines/_component_defines_integral.dm

SEND_SIGNALUsed to trigger signals and call procs registered for that signal The datum hosting the signal is automaticaly added as the first argument Returns a bitfield gathered from all registered procs Arguments given here are packaged in a list and given to _SendSignal
SEND_GLOBAL_SIGNALtarget to use for signals that are global and not tied to a single datum.
AddComponentA wrapper for _AddComponent that allows us to pretend we're using normal named arguments
LoadComponentA wrapper for _LoadComponent that allows us to pretend we're using normal named arguments
IS_COMPLEX_SIGNALChecks if a signal is "complex", i.e. it is handled by adding a special component and registering may have side effects and overhead
COMPONENT_INCOMPATIBLEReturn this from /datum/component/Initialize or datum/component/OnTransfer to have the component be deleted if it's applied to an incorrect type.
COMPONENT_NOTRANSFERReturned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE
ARG_INFOarginfo handling TODO: document
COMPONENT_DUPE_HIGHLANDERold component is deleted (default)
COMPONENT_DUPE_ALLOWEDduplicates allowed
COMPONENT_DUPE_UNIQUEnew component is deleted
COMPONENT_DUPE_UNIQUE_PASSARGSold component is given the initialization args of the new
COMPONENT_DUPE_SELECTIVEeach component of the same type is consulted as to whether the duplicate should be allowed

Define Details

ARG_INFO

arginfo handling TODO: document

AddComponent

A wrapper for _AddComponent that allows us to pretend we're using normal named arguments

COMPONENT_DUPE_ALLOWED

duplicates allowed

COMPONENT_DUPE_HIGHLANDER

old component is deleted (default)

COMPONENT_DUPE_SELECTIVE

each component of the same type is consulted as to whether the duplicate should be allowed

COMPONENT_DUPE_UNIQUE

new component is deleted

COMPONENT_DUPE_UNIQUE_PASSARGS

old component is given the initialization args of the new

COMPONENT_INCOMPATIBLE

Return this from /datum/component/Initialize or datum/component/OnTransfer to have the component be deleted if it's applied to an incorrect type.

parent must not be modified if this is to be returned. This will be noted in the runtime logs.

COMPONENT_NOTRANSFER

Returned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE

IS_COMPLEX_SIGNAL

Checks if a signal is "complex", i.e. it is handled by adding a special component and registering may have side effects and overhead

LoadComponent

A wrapper for _LoadComponent that allows us to pretend we're using normal named arguments

SEND_GLOBAL_SIGNAL

target to use for signals that are global and not tied to a single datum.

Note that this does NOT work with SEND_SIGNAL because of preprocessor weirdness. Use SEND_GLOBAL_SIGNAL instead.

SEND_SIGNAL

Used to trigger signals and call procs registered for that signal The datum hosting the signal is automaticaly added as the first argument Returns a bitfield gathered from all registered procs Arguments given here are packaged in a list and given to _SendSignal