A useful class for systems which simply iterate over a set of nodes, performing the same action on each node. This class removes the need for a lot of boilerplate code in such systems. Extend this class and pass the node type and a node update method into the constructor. The node update method will be called once per node on the update cycle with the node instance and the frame time as parameters. e.g.

package; class MySystem extends ListIteratingSystem { public function new() { super(MyNode, updateNode); }
private function updateNode(node:MyNode, time:Float):Void
{
    // process the node here
}

}

Constructor

new (nodeClass:Class<TNode>, nodeUpdateFunction:TNode ‑> Float ‑> Void, ?nodeAddedFunction:TNode ‑> Void, ?nodeRemovedFunction:TNode ‑> Void)

Methods

Inherited Variables

Defined by System

next:System

Used internally to manage the list of systems within the engine. The next system in the list.

previous:System

Used internally to manage the list of systems within the engine. The previous system in the list.

priority:Int

Used internally to hold the priority of this system within the system list. This is used to order the systems so they are updated in the correct order.

Inherited Methods