Game.Prefabs.TriggerData
Assembly: Game (assembly name not specified in source)
Namespace: Game.Prefabs
Type: struct
Base: Unity.Entities.IBufferElementData
Summary:
TriggerData is an ECS buffer element used to attach trigger configuration information to entities (typically prefabs). It stores the trigger's kind (TriggerType), which target types it applies to (TargetType), and a reference to the trigger prefab as an Entity. TriggerType and TargetType are defined under Game.Triggers and are commonly enums (TargetType often used as bitflags).
Fields
-
public TriggerType m_TriggerType
Specifies which trigger type this entry represents (e.g., enter, exit, timed, custom). The actual TriggerType enum is defined in Game.Triggers. -
public TargetType m_TargetTypes
Specifies which target categories the trigger applies to. Typically a flags enum allowing multiple target categories to be combined. -
public Unity.Entities.Entity m_TriggerPrefab
An Entity reference to the prefab used for the trigger. This is usually a prefab Entity stored in a Bootstrap or loaded via a conversion workflow.
Properties
- None. TriggerData is a simple value-type buffer element (no properties defined).
Constructors
public TriggerData()
Structs have an implicit default parameterless constructor that zero-initializes fields. Create instances by object initializer or by adding to a DynamicBuffer.
Methods
- None. This type carries data only.
Usage Example
using Unity.Entities;
using Game.Triggers;
using Game.Prefabs; // optional, depending on context
// assume `entityManager` and `entityWithTriggers` exist and triggerPrefabEntity is an Entity prefab
var buffer = entityManager.AddBuffer<TriggerData>(entityWithTriggers);
// add a trigger entry
buffer.Add(new TriggerData {
m_TriggerType = TriggerType.EnterArea,
m_TargetTypes = TargetType.Vehicles | TargetType.Pedestrians,
m_TriggerPrefab = triggerPrefabEntity
});
// alternatively, set buffer elements directly
buffer[0] = new TriggerData {
m_TriggerType = TriggerType.Timed,
m_TargetTypes = TargetType.Buildings,
m_TriggerPrefab = anotherTriggerPrefab
};