Game.Tutorials.ObjectPlacementTriggerData
Assembly: Game
Namespace: Game.Tutorials
Type: struct
Base: Unity.Entities.IBufferElementData
Summary:
ObjectPlacementTriggerData is a lightweight buffer element used by the tutorial/object-placement systems to record an object (Entity) that is part of a placement-related trigger and associated flags describing trigger behavior. Instances are stored in DynamicBuffer
Fields
-
public Entity m_Object
Holds the Entity reference for the object involved in the placement trigger. This is typically the object the tutorial expects the player to place or interact with. -
public ObjectPlacementTriggerFlags m_Flags
Flags controlling trigger behavior/metadata. The exact semantics are defined by the ObjectPlacementTriggerFlags enum/type (not shown here) and might include information such as single-use, required placement, or other trigger options.
Properties
This type defines no properties.
Constructors
public ObjectPlacementTriggerData(Entity obj, ObjectPlacementTriggerFlags flags)
Initializes a new buffer element with the given object Entity and flags.
Methods
This type defines no methods.
Usage Example
// Add and use a DynamicBuffer<ObjectPlacementTriggerData> via EntityManager
Entity tutorialEntity = /* obtain or create an entity that holds the buffer */;
EntityManager.AddBuffer<ObjectPlacementTriggerData>(tutorialEntity);
var buffer = EntityManager.GetBuffer<ObjectPlacementTriggerData>(tutorialEntity);
Entity placedObject = /* entity representing the object to trigger on */;
buffer.Add(new ObjectPlacementTriggerData(placedObject, ObjectPlacementTriggerFlags.None));
// Or inside a SystemBase:
public class TutorialSystem : SystemBase
{
protected override void OnUpdate()
{
Entities
.WithoutBurst()
.ForEach((Entity e, ref DynamicBuffer<ObjectPlacementTriggerData> buffer) =>
{
// Example: add a trigger entry
Entity someObject = /* resolve object entity */;
buffer.Add(new ObjectPlacementTriggerData(someObject, ObjectPlacementTriggerFlags.Required));
})
.Run();
}
}