Game.Prefabs.AssetPackElement
Assembly: (unspecified — part of the game's managed assemblies, e.g. the game's assembly that contains prefab types)
Namespace: Game.Prefabs
Type: struct
Base: Unity.Entities.IBufferElementData
Summary:
Represents a single element in a DynamicBuffer that references an asset pack Entity used by prefabs. This struct is a plain ECS buffer element (blittable) that stores an Entity handle (m_Pack) pointing to another entity that represents an asset pack. It is intended to be used with DynamicBuffer
Fields
public Unity.Entities.Entity m_Pack
Holds the Entity reference to the asset pack. When used in a DynamicBuffer, each element's m_Pack points to one asset pack entity. Must be assigned an Entity value (for example, an entity created or referenced elsewhere). This is a value type field (Entity), so it is safe to use in jobs and native containers.
Properties
- (none)
Constructors
public AssetPackElement()
Struct has the default parameterless constructor provided by C#. Typically you create instances with an object initializer, e.g.new AssetPackElement { m_Pack = packEntity }
.
Methods
- (none)
Usage Example
// Example: add a pack reference to an entity's buffer
Entity packEntity = /* obtain or create the pack entity */;
Entity prefabEntity = /* entity that should reference packs */;
var buffer = EntityManager.GetBuffer<AssetPackElement>(prefabEntity);
buffer.Add(new AssetPackElement { m_Pack = packEntity });
// In a system using Entities.ForEach (ISystem/IJobEntity), use DynamicBuffer<T>:
Entities.ForEach((ref DynamicBuffer<AssetPackElement> packs, in SomeTag tag) =>
{
// iterate pack references
for (int i = 0; i < packs.Length; i++)
{
Entity referencedPack = packs[i].m_Pack;
// use referencedPack as needed
}
}).Schedule();