Event<T extends App<T>> class abstract

A message dispatched or emitted through the ECS hierarchy.

Created once per occurrence and passed by reference through every node it visits for the duration of a single IsEventEmittable.dispatch or IsEventEmittable.emit call.

Event.origin is reset and propagation tracking is cleared at the start of each IsEventEmittable.dispatch/IsEventEmittable.emit call, so the same instance can safely be redispatched later. Event.scope, once set, is not reset between calls and will keep taking priority over the scope passed at the call site.

Inheritance
Mixed-in types
Implementers

Constructors

Event(T app)

Properties

app → T
final
backend UnhingedBackend
Shorthand for App.backend.
no setterinherited
draw Drawers<T>
Shorthand for App.draw.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
id int
Per-type unique identifier, auto-assigned in the constructor.
no setterinherited
input InputSystem<T>
Shorthand for App.input.
no setterinherited
isStopped bool
Whether propagation has been halted via stopPropagation.
no setter
name String
Human-readable name, defaults to <runtimeType>_<id>.
getter/setter pairinherited
namedId String
Per-type unique String identifier, auto-assigned in the constructor. Defaults to <runtimeType>_<id>.
no setterinherited
origin ECSBase<T>?
The node that originally emitted this event.
getter/setter pair
parent ECSBase<T>?
The parent object in the ECS tree, if any.
getter/setter pairinherited
priority int
Relative ordering priority used when processing queued events. Events with lower priority values are processed first.
getter/setter pair
renderer Renderer<T>
Shorthand for App.renderer.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scene Scene<T>
Shorthand for App.currentScene.
no setterinherited
sceneBounds Bounds
no setterinherited
sceneHeight double
no setterinherited
sceneSize Vector2D
no setterinherited
sceneWidth double
no setterinherited
scope EventScope?
How far this event should propagate.
getter/setter pair
screenHeight double
Shorthand for App's height.
no setterinherited
screenSize Vector2D
Shorthand for App.screenSize.
no setterinherited
screenWidth double
Shorthand for App's width.
no setterinherited
self Event<T>
This object cast to T.
no setterinherited
simTime double
getter/setter pair
time AppTime<T>
Shorthand for App.time.
no setterinherited

Methods

callback(void callback()) → void
inherited
getAncestors() Iterable<ECSBase<T>>
Returns every ancestor of this component, from immediate parent up to the root.
inherited
getDepth() int
Returns the depth/level in the hierarchy.
inherited
getParentAs<P extends ECSBase<T>>() → P?
Returns parent cast to P, or null if the cast would fail.
inherited
getPath() List<ECSBase<T>>
Returns the path from the root down to this one, inclusive.
inherited
hasParentOf<P extends ECSBase<T>>() bool
Whether parent is of type P.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onSelf(void fn(Event<T> self)) Event<T>
Calls fn with self and returns self, for fluent chaining.
inherited
run(Task<T> task) → void
inherited
Links this event to link so that stopping propagation on one (via stopPropagation) also stops the other.
stopPropagation() → void
Halts further propagation of this event (and any event linked via setLink). Already-visited nodes are unaffected; only handlers further down the propagation chain are skipped.
task(Task<T> task) → void
inherited
toString() String
A string representation of this object.
inherited
uniqKey(String key) String
Returns a key namespaced to this object's namedId.
inherited

Operators

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