Skip to content

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
};