Space Station 13 - Modules - TypesVar Details - Proc Details

datum

Vars

abstract_typeIf set, a path at/above this one that expects not to be instantiated.
extensionsLazylist (Type paths - Types of /datum/extension). List of extensions currently set for this datum.
gc_destroyedInt. world.time when this datum was destroyed, or GC_CURRENTLY_BEING_QDELETED if currently being deleted. Controlled by qdel().
instance_configuratorIf this datum is pooled, the last configurator applied (if any).
instance_poolIf this datum is pooled, the pool it belongs to.
is_processingWhether or not this datum is currently being processed, and by which subsystem. Controlled by the various START_PROCESSING*() and STOP_PROCESSING*() defines.
weakrefOne-way reference to a /weakref instance that refers to this datum, if one exists.

Procs

DestroyDefault implementation of clean-up code. This should be overridden to remove all references pointing to the object being destroyed. Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE.
IsAbstractIf true, this datum is an instance of an abstract type. Oops.
ProcessThe processing handler for this datum. Called regularly by the relevant subsystem defined by is_processing.
apply_visualApplies visual overlays relating to viewing through a specific datum, i.e. cameras.
remove_visualRemoves visual overlays relating to viewing through a specific datum, i.e. cameras.
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

If set, a path at/above this one that expects not to be instantiated.

extensions

Lazylist (Type paths - Types of /datum/extension). List of extensions currently set for this datum.

Not recommended to set or reference directly. See the following procs instead:

gc_destroyed

Int. world.time when this datum was destroyed, or GC_CURRENTLY_BEING_QDELETED if currently being deleted. Controlled by qdel().

instance_configurator

If this datum is pooled, the last configurator applied (if any).

instance_pool

If this datum is pooled, the pool it belongs to.

is_processing

Whether or not this datum is currently being processed, and by which subsystem. Controlled by the various START_PROCESSING*() and STOP_PROCESSING*() defines.

weakref

One-way reference to a /weakref instance that refers to this datum, if one exists.

Proc Details

Destroy

Default implementation of clean-up code. This should be overridden to remove all references pointing to the object being destroyed. Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE.

IsAbstract

If true, this datum is an instance of an abstract type. Oops.

Process

The processing handler for this datum. Called regularly by the relevant subsystem defined by is_processing.

Return PROCESS_KILL to tell the subsystem to stop processing this datum.

apply_visual

Applies visual overlays relating to viewing through a specific datum, i.e. cameras.

remove_visual

Removes visual overlays relating to viewing through a specific datum, i.e. cameras.

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