class

Entitas::Systems

Inherits Entitas::Systems::TearDownSystem / Entitas::System / Entitas::Systems::InitializeSystem / Entitas::System / Entitas::Systems::ExecuteSystem / Entitas::System / Entitas::Systems::CleanupSystem / Entitas::System / Reference / Object

Systems provide a convenient way to group systems. You can add InitializeSystem, ExecuteSystem, CleanupSystem, TearDownSystem, ReactiveSystem and other nested Systems instances. All systems will be initialized and executed based on the order you added them.

Constants

Log = ::Log.for(self)

Instance methods

<<(sys : Entitas::System)

Adds the system instance to the systems list.

Source
activate_reactive_systems

Activates all ReactiveSystems in the systems list.

Source
add(sys : Entitas::System) : Systems

Adds the system instance to the systems list.

Source
cleanup

Calls #cleanup on all CleanupSystem and other nested Systems instances in the order you added them.

Source
clear_reactive_systems

Clears all ReactiveSystems in the systems list.

Source
deactivate_reactive_systems

Deactivates all ReactiveSystems in the systems list. This will also clear all ReactiveSystems. This is useful when you want to soft-restart your application and want to reuse your existing system instances.

Source
execute

Calls #execute on all ExecuteSystem and other nested Systems instances in the order you added them.

Source
find_system(klass : Class) : Entitas::System | Nil

Recusivly searches for sub systems with the type provided and returns the first match

Source
find_systems(klass : Class) : Array(Entitas::System)

Recusivly searches for sub systems with the type provided and returns all matches

Source
init

Calls #init on all InitializeSystem and other nested Systems instances in the order you added them.

Source
tear_down

Calls #tear_down on all TearDownSystem and other nested Systems instances in the order you added them.

Source

Nested types