Module observer

Source
Expand description

Types for creating and storing Observers

Structs§

CachedComponentObservers
Collection of ObserverRunner for Observer registered to a particular trigger targeted at a specific component.
CachedObservers
Collection of ObserverRunner for Observer registered to a particular trigger.
EmitDynamicTrigger
Emit a trigger for a dynamic component id. This is unsafe and must be verified manually.
Observer
An Observer system. Add this Component to an Entity to turn it into an “observer”.
ObserverDescriptor
A description of what an Observer observes.
ObserverState
Contains Observer information. This defines how a given observer behaves. It is the “source of truth” for a given observer entity’s behavior.
ObserverTrigger
Event trigger metadata for a given Observer,
Observers
Metadata for observers. Stores a cache mapping trigger ids to the registered observers.
Trigger
Type containing triggered Event information for a given run of an Observer. This contains the Event data itself. If it was triggered for a specific Entity, it includes that as well.
TriggerEvent
A Command that emits a given trigger for a given set of targets.

Traits§

TriggerTargets
Represents a collection of targets for a specific Trigger of an Event. Targets can be of type Entity or ComponentId. When a trigger occurs for a given event and TriggerTargets, any Observer that watches for that specific event-target combination will run.

Type Aliases§

BoxedObserverSystem
Equivalent to BoxedSystem for ObserverSystem.
ObserverRunner
Type for function that is run when an observer is triggered. Typically refers to the default runner that runs the system stored in the associated [ObserverSystemComponent], but can be overridden for custom behaviour.