Space Station 13 - Nebula13 - Modules - TypesVar Details - Proc Details

datum

Vars

abstract_typeUsed to indicate that this type is abstract and should not itself be instantiated.
active_timersUsed by the SStimer subsystem
event_listen_countTracks how many event registrations we are listening to. Used in cleanup to prevent dangling references.
event_source_countTracks how many event registrations are listening to us. Used in cleanup to prevent dangling references.
gc_destroyedTime when this object was destroyed.
has_state_machineUsed to avoid unnecessary refstring creation in Destroy().
is_processingIndicates if a processing subsystem is currenting queuing this datum

Procs

CanCloneReturns whether the object supports being cloned. This is useful for things that should only ever exist once in the world.
CloneThis proc returns a clone of the src datum. Clone here implies a copy similar in terms of look and contents, but internally may differ a bit. The clone shall not keep references onto instances owned by the original, in most cases. Try to avoid overriding this proc directly and instead override GetCloneArgs() and PopulateClone().
GetCloneArgsReturns a list with the arguments passed to the new() of a cloned instance. Override this, instead of Clone() itself.
PopulateCloneUsed to allow sub-classes to do further processing on the cloned instance returned by Clone(). Override this, instead of Clone() itself. ** Please avoid running update code in here if possible. You could always override Clone() for this kind of things, so we don't end up with 50 calls to update_icon in the chain. **
ui_dataData to be sent to the UI. This must be implemented for a UI to work.
ui_interactThe ui_interact proc is used to open and update Nano UIs If ui_interact is not used then the UI will not update correctly ui_interact is currently defined for /atom/movable

Var Details

abstract_type

Used to indicate that this type is abstract and should not itself be instantiated.

active_timers

Used by the SStimer subsystem

event_listen_count

Tracks how many event registrations we are listening to. Used in cleanup to prevent dangling references.

event_source_count

Tracks how many event registrations are listening to us. Used in cleanup to prevent dangling references.

gc_destroyed

Time when this object was destroyed.

has_state_machine

Used to avoid unnecessary refstring creation in Destroy().

is_processing

Indicates if a processing subsystem is currenting queuing this datum

Proc Details

CanClone

Returns whether the object supports being cloned. This is useful for things that should only ever exist once in the world.

Clone

This proc returns a clone of the src datum. Clone here implies a copy similar in terms of look and contents, but internally may differ a bit. The clone shall not keep references onto instances owned by the original, in most cases. Try to avoid overriding this proc directly and instead override GetCloneArgs() and PopulateClone().

GetCloneArgs

Returns a list with the arguments passed to the new() of a cloned instance. Override this, instead of Clone() itself.

PopulateClone

Used to allow sub-classes to do further processing on the cloned instance returned by Clone(). Override this, instead of Clone() itself. ** Please avoid running update code in here if possible. You could always override Clone() for this kind of things, so we don't end up with 50 calls to update_icon in the chain. **

ui_data

Data to be sent to the UI. This must be implemented for a UI to work.

@param user /mob The mob who interacting with the UI @param ui_key string A string key to use for this UI. Allows for multiple unique UIs on one obj/mob (defaut value "main")

@return data /list Data to be sent to the UI

ui_interact

The ui_interact proc is used to open and update Nano UIs If ui_interact is not used then the UI will not update correctly ui_interact is currently defined for /atom/movable

@param user /mob The mob who is interacting with this UI @param ui_key string A string key to use for this UI. Allows for multiple unique UIs on one obj/mob (defaut value "main") @param ui /datum/nanoui This parameter is passed by the nanoui process() proc when updating an open UI @param force_open boolean Force the UI to (re)open, even if it's already open

@return nothing