ExcludingSystem

trait ExcludingSystem[LIncluded <: CList, LExcluded <: CList](using cltIncl: CListTag[LIncluded], cltExcl: CListTag[LExcluded]) extends System[LIncluded]

Represent a way to iterate over entities with specific components (given by the type parameter LIncluded) and without specific components (given by the type parameter LExcluded) and manipulate them.

Type Params
LExcluded

a CList representing the Components to filter out from the selected entities.

LIncluded

a CList representing the Components available to the System.

trait System[LIncluded]
class Object
trait Matchable
class Any

Value members

Concrete methods

override protected def getView(world: World): View[LIncluded]
Definition Classes

Inherited methods

def after(deltaTime: DeltaTime, world: World, view: View[LIncluded]): Unit

This method is executed after each iteration of the System.

This method is executed after each iteration of the System.

Value Params
deltaTime

the delta time used to update.

view

a View with the Components specified by the System type.

world

the World in which the System is being executed.

Inherited from
System
def before(deltaTime: DeltaTime, world: World, view: View[LIncluded]): Unit

This method is executed before each iteration of the System.

This method is executed before each iteration of the System.

Value Params
deltaTime

the delta time used to update.

view

a View with the Components specified by the System type.

world

the World in which the System is being executed.

Inherited from
System
def shouldRun: Boolean
Returns

wether this System should be executed or not.

Inherited from
System
def update(entity: Entity, components: LIncluded)(deltaTime: DeltaTime, world: World, view: View[LIncluded]): Deletable[LIncluded]

Describes how this System updates the components (described by the type of the System) of an Entity.

Describes how this System updates the components (described by the type of the System) of an Entity.

Value Params
components

the CList of Components that are being updated.

deltaTime

the delta time used to update.

entity

the Entity whose components are being updated.

view

the View of all entities with the components described by L.

world

the World in which this System is being used.

Returns

a new CList with the updated components; it could also contain a special component - Deleted - that is used to delete the corresponding component: e.g. If the expected return type is a

Position &: Velocity &: CNil

one could also return

Position(1, 2) &: Deleted &: CNil

from the given Entity.

Inherited from
System