WorldTransform3DSystem class

Keeps every WorldTransform3D current, once per FixedTickEvent.

The 3D counterpart of goo2d's WorldTransformSystem, and the same machinery: it walks the hierarchy top-down through the intrusive Parent.firstChild/Child.nextSibling list the kernel already maintains, starting from roots (no parent, or no Child mixin at all) so a parent is always resolved before its children read it. Each entity's "did anything change" check is a handful of field comparisons against last tick's cached values, not a walk back to the root, so an unchanged subtree is cheap to skip past.

Ordering: any system reading WorldTransform3D should extend its own compareTo to run after this one (other is WorldTransform3DSystem ? 1 : 0). This system does not declare "I run first" unconditionally, because a system with no opinion about ordering should not be silently forced to run after this one just because this one has an opinion about everyone.

Inheritance
Mixed-in types

Constructors

WorldTransform3DSystem()

Properties

game Game
The game this system was declared in - state.game, for the declarations that legitimately live there (buffers, state channels, camera views).
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
listensToEvents bool
Whether this system currently receives events.
no setterinherited
mountEvent SignalDispatcher<GameSystemLifecycleListener>
latefinalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
state GameState<Game>
The simulation this system belongs to - scenes, sibling systems, the pool and the tick loop.
no setterinherited
unmountEvent SignalDispatcher<GameSystemLifecycleListener>
latefinalinherited

Methods

collectListeners(ListenerCollector collector) → void
Offers this owner's listeners to its own dispatchers.
inherited
compareTo(GameSystem other) int
Compares this object to another object.
inherited
describeEvents(EventDescriptor descriptor) → void
Declares this owner's dispatchers. Runs once, at boot, before collectListeners.
inherited
describeInputs(InputDescriptor descriptor) → void
Declares this system's input actions - see Game.describeInputs.
inherited
describeQuery(QueryDescriptor descriptor) → void
override
disableAfterUncaught() → void
A system is the one listener the engine can switch off and carry on, so this is where the base class's no-op is overridden - see GameListener.disableAfterUncaught. Same flag disableSystem sets, so Game.enableSystem brings it back.
inherited
getGame<T extends Game>() → T
This system's game, as T.
inherited
getState<T extends GameState<Game>>() → T
This system's state, as T. See getGame - same argument, other half.
inherited
getSystem<T extends GameSystem>() → T
A sibling system declared in the same describeSystems. Reaching one directly is the escape hatch for cross-system state; note it says nothing about ordering, which is declaration order and nothing else.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onEntityDespawned(Entity entity) → void
entity is going away. Its row is still readable here and never again afterwards.
override
onEntitySpawned(Entity entity) → void
entity has been created, with its field defaults already stamped into the row. Fired from the same call site as EntityLifecycleListener.onEntityMounted, so the two cannot disagree about when a spawn happened.
override
onFixedUpdate() → void
override
singleScene<T extends SceneStruct>() → T
The one loaded scene, as T - sugar for state.singleScene<T>(), and carrying the same precondition its name states: it throws once a second scene is resident. See GameState.singleScene.
inherited
startCoroutine(Coroutine coroutine) CoroutineFuture
Starts coroutine and returns a handle to await or stop.
inherited
startCoroutineWithParam<T>(CoroutineWithParam<T> coroutine, {required T param}) CoroutineFuture
startCoroutine for a body that takes an argument, so the same coroutine can be started for many entities without a closure per start.
inherited
stopAllCoroutines() → void
Stops every coroutine this owner started. Others keep running.
inherited
stopCoroutine(CoroutineFuture coroutine) → void
Stops one. Idempotent.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

maxHierarchyDepth → const int
Guards against a cycle in the parent chain.