Space Station 13 - Modules - TypesVar Details - Proc Details

orbiter

Vars

orbit_dataCached transforms from before the orbiter started orbiting, to be restored on stopping their orbit
orbiter_listList of observers orbiting the parent

Procs

InheritComponentSee atom/movable/proc/orbit for parameter definitions
InitializeSee atom/movable/proc/orbit for parameter definitions
begin_orbitSee atom/movable/proc/orbit for parameter definitions
end_orbitEnd the orbit and clean up our transformation. If this removes the last atom orbiting us, then qdel ourselves. Howver, if refreshing == TRUE, src will not be qdeleted if this leaves us with 0 orbiters.
get_cached_transformGet cached transform of the given orbiter.
get_orbit_paramsGet the given orbiter's orbit parameters bitfield
get_orbiter_layerGet the layer the given orbiter was on before they started orbiting
handle_parent_moveThe actual implementation function of the move react. if you're trying to call this from a signal, call parent_move_react instead. This implementation is separate so the orbited atom's old location and new location can be passed in separately.
is_in_hierarchyReturns TRUE if atom_to_find is transitively a parent of src.
on_intermediate_moveCalled when an intermediate (somewhere between the topmost and the orbited) atom moves. This atom will now become the leader.
on_remove_childCallback fired when an item is removed from a tracked atom. Removes all orbit-related signals up its hierarchy and moves orbiters to the current child. As this will never be called by a turf, this should not conflict with parent_move_react.
orbiter_move_reactCalled when the orbiter themselves moves.
parent_move_reactSignal handler for COMSIG_MOVABLE_MOVED. Special wrapper to handle the arguments that come from the signal. If you want to call this directly, just call handle_parent_move.
register_signalsRegister signals up the hierarchy, adding them to each parent (and their parent, and so on) up to the turf they're on. The last atom in the hierarchy (the one whose .loc is the turf) becomes the leader, the atom ghosts will follow. Registers on_intermediate_move for every non-leader atom so that if they move (removing them from the hierarchy), they will be set as the new leader. Also registers on_remove_child to remove signals up the hierarchy when a child gets removed. start: the first atom to register signals on. If start isn't inside of anything (or if its .loc is a turf), then it will become the leader. Returns the new "leader", the atom that ghosts will follow.
remove_signalsRemove all orbit-related signals in the object hierarchy above start.
store_orbit_dataorbit data helper functions Store a collection of data for an orbiter. orbiter: orbiter atom itself. The orbiter's transform and layer at this point will be captured and cached. orbit_flags: bitfield consisting of flags describing the orbit.

Var Details

orbit_data

Cached transforms from before the orbiter started orbiting, to be restored on stopping their orbit

orbiter_list

List of observers orbiting the parent

Proc Details

InheritComponent

See atom/movable/proc/orbit for parameter definitions

Initialize

See atom/movable/proc/orbit for parameter definitions

begin_orbit

See atom/movable/proc/orbit for parameter definitions

end_orbit

End the orbit and clean up our transformation. If this removes the last atom orbiting us, then qdel ourselves. Howver, if refreshing == TRUE, src will not be qdeleted if this leaves us with 0 orbiters.

get_cached_transform

Get cached transform of the given orbiter.

get_orbit_params

Get the given orbiter's orbit parameters bitfield

get_orbiter_layer

Get the layer the given orbiter was on before they started orbiting

handle_parent_move

The actual implementation function of the move react. if you're trying to call this from a signal, call parent_move_react instead. This implementation is separate so the orbited atom's old location and new location can be passed in separately.

is_in_hierarchy

Returns TRUE if atom_to_find is transitively a parent of src.

on_intermediate_move

Called when an intermediate (somewhere between the topmost and the orbited) atom moves. This atom will now become the leader.

on_remove_child

Callback fired when an item is removed from a tracked atom. Removes all orbit-related signals up its hierarchy and moves orbiters to the current child. As this will never be called by a turf, this should not conflict with parent_move_react.

orbiter_move_react

Called when the orbiter themselves moves.

parent_move_react

Signal handler for COMSIG_MOVABLE_MOVED. Special wrapper to handle the arguments that come from the signal. If you want to call this directly, just call handle_parent_move.

register_signals

Register signals up the hierarchy, adding them to each parent (and their parent, and so on) up to the turf they're on. The last atom in the hierarchy (the one whose .loc is the turf) becomes the leader, the atom ghosts will follow. Registers on_intermediate_move for every non-leader atom so that if they move (removing them from the hierarchy), they will be set as the new leader. Also registers on_remove_child to remove signals up the hierarchy when a child gets removed. start: the first atom to register signals on. If start isn't inside of anything (or if its .loc is a turf), then it will become the leader. Returns the new "leader", the atom that ghosts will follow.

remove_signals

Remove all orbit-related signals in the object hierarchy above start.

store_orbit_data

orbit data helper functions Store a collection of data for an orbiter. orbiter: orbiter atom itself. The orbiter's transform and layer at this point will be captured and cached. orbit_flags: bitfield consisting of flags describing the orbit.