A System is an object assigned to app lifecycle and used to do some work such as dispatching events or manipulating entities. Systems can be ordered with order properties

Events

@:dox(show)beginEarlyUpdate(delta:Float):Void

@:dox(show)endEarlyUpdate(delta:Float):Void

@:dox(show)beginLateUpdate(delta:Float):Void

@:dox(show)endLateUpdate(delta:Float):Void

Constructor

new()

Variables

@:value(null)name:String = null

System name. Useful to retrieve a system afterwards

@:value(true)autoUpdate:Bool = true

When set to true (default). This system will be updated automatically. If false, you'll need to call earlyUpdate() and lateUpdate() manually.

@:value(0)earlyUpdateOrder:Float = 0

Order of earlyUpdate execution. Given two systems, a system with a lower earlyUpdateOrder value will have it's earlyUpdate() method called before another system's earlyUpdate() method with a higher order value.

@:value(0)lateUpdateOrder:Float = 0

Order of lateUpdate execution. Given two systems, a system with a lower lateUpdateOrder value will have it's lateUpdate() method called before another system's lateUpdate() method with a higher order value.

Methods

Inherited Events

Defined by Entity

@:dox(show)dispose(entity:Entity):Void

@:dox(show)destroy(entity:Entity):Void

Inherited Variables

Defined by Entity

@:value(null)id:String = null

read onlydestroyed:Bool

read onlydisposed:Bool

@:value(null)read onlyautoruns:Array<Autorun> = null

components:ReadOnlyMap<String, Component>

Public components mapping. Contain components created separately with component() or macro-based components as well.

scriptContent:ScriptContent

Available with script plugin

script:Script

Available with script plugin

Inherited Methods

Defined by Entity

dispose():Void

Schedules destroy, at the end of the current frame.

unbindEvents():Void

Remove all events handlers from this entity.

autorun(run:() ‑> Void, ?afterRun:() ‑> Void):Autorun

Creates a new Autorun instance with the given callback associated with the current entity.

Parameters:

run

The run callback

Returns:

The autorun instance

tween(?easing:Easing, duration:Float, fromValue:Float, toValue:Float, update:(Float, Float) ‑> Void):Tween

Start a tween associated with this entity.

Parameters:

easing

The easing to use

duration

The duration of the tween

fromValue

The start value of the tween

toValue

The end value of the tween

update

An update function called at each iteration of the tween

Returns:

The instance of the created Tween object

eagerTween(?easing:Easing, duration:Float, fromValue:Float, toValue:Float, update:(Float, Float) ‑> Void):Tween

Start an eager tween associated with this entity. This is the same as a regular tween, except that it will start updating itself using current frame's delta time instead of next frame like in a regular tween.

Parameters:

easing

The easing to use

duration

The duration of the tween

fromValue

The start value of the tween

toValue

The end value of the tween

update

An update function called at each iteration of the tween

Returns:

The instance of the created Tween object

@:value({ hasField : false })component<C>(?name:String, ?component:Null<C>, hasField:Bool = false):C