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 Game mounts nodes spawned during update), Schedules.renderSync, and finally onFrameEnd (e.g. flush scene-graph mutations) before render.

Operators

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