EcsFrameLoop class final
Runs frame schedules and updates time.
Constructors
- EcsFrameLoop(App app, {void onBeforeUpdate()?, void onCommandBoundary()?, void onFrameEnd()?})
Properties
- app → App
-
The engine this loop drives.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- onBeforeUpdate → void Function()?
-
Runs before the update schedule.
final
- onCommandBoundary → void Function()?
-
Runs after each command flush.
final
- onFrameEnd → void Function()?
-
Runs after render sync.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
ensureTimeResources(
) → void - Inserts default FrameTime/FixedTime/GameClock resources if a plugin has not already provided them. Call before App.start.
-
fixedStep(
double fixedDt) → void - Runs one fixed step.
-
frameStart(
Duration elapsed, double deltaSeconds) → double - Starts a frame and returns its scaled delta.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
update(
double deltaSeconds) → void -
Per-frame update: Schedules.postPhysics (the frame's fixed steps and
physics integration have all run by the time the scene calls this), then
onCommandBoundary, onBeforeUpdate, Schedules.update,
onCommandBoundary again (where
Gamemounts nodes spawned duringupdate), Schedules.renderSync, and finally onFrameEnd (e.g. flush scene-graph mutations) before render.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited