orbiter
Vars | |
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 |
Procs | |
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. |
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.