abstract class Entitas::MultiReactiveSystem

Overview

A Entitas::ReactiveSystem calls Execute(entities) if there were changes based on the specified Entitas::Collector and will only pass in changed entities. A common use-case is to react to changes, e.g. a change of the position of an entity to update the gameObject.transform.position of the related gameObject.

Included Modules

Defined in:

entitas/multi_reactive_system.cr

Constant Summary

Log = ::Log.for(self)

Constructors

Instance Method Summary

Instance methods inherited from module Entitas::Systems::ReactiveSystem

activate activate, clear clear, deactivate deactivate

Instance methods inherited from module Entitas::Systems::ExecuteSystem

execute execute

Instance methods inherited from module Entitas::System

to_json(json : JSON::Builder) to_json

Instance methods inherited from module Entitas::System

to_json(json : JSON::Builder) to_json

Constructor Detail

def self.new(collectors : Array(ICollector), filter : Proc(IEntity, Bool)) #

[View source]
def self.new(context : Entitas::Context, filter : Proc(IEntity, Bool)) #

[View source]
def self.new(collectors : Array(ICollector)) #

[View source]
def self.new(contexts : ::Contexts) #

[View source]

Instance Method Detail

def activate #

Activates the ReactiveSystem and starts observing changes based on the specified Collector. ReactiveSystem are activated by default.


[View source]
def clear #

Clears all accumulated changes.


[View source]
def clear_collected_entities #

Alias. See #clear


[View source]
def deactivate #

Deactivates the ReactiveSystem. No changes will be tracked while deactivated. This will also clear the ReactiveSystem. ReactiveSystem are activated by default.


[View source]
abstract def execute(entities : Array(IEntity)) #

[View source]
def execute #

[View source]
def filter(entity) #

This will exclude all entities which don't pass the filter.


[View source]
abstract def get_trigger(contexts : ::Contexts) : Array(ICollector) #

Specify the collector that will trigger the ReactiveSystem.


[View source]
def to_s(io) #

[View source]