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
-
- Object
- GameListenerBase
- GameSystem
- WorldTransform3DSystem
- Mixed-in types
Constructors
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 flagdisableSystemsets, soGame.enableSystembrings 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 -
entityis going away. Its row is still readable here and never again afterwards.override -
onEntitySpawned(
Entity entity) → void -
entityhas 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 forstate.singleScene<T>(), and carrying the same precondition its name states: it throws once a second scene is resident. SeeGameState.singleScene.inherited -
startCoroutine(
Coroutine coroutine) → CoroutineFuture -
Starts
coroutineand 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.