docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Method AddSharedComponent

    AddSharedComponent<T>(EntityQuery, T, EntityQueryCaptureMode)

    Records a command to add a unmanaged shared component to all entities matching a query.

    Declaration
    public void AddSharedComponent<T>(EntityQuery entityQuery, T component, EntityQueryCaptureMode queryCaptureMode) where T : unmanaged, ISharedComponentData
    Parameters
    Type Name Description
    EntityQuery entityQuery

    The query specifying which entities to add the component value to.

    T component

    The component value to add.

    EntityQueryCaptureMode queryCaptureMode

    Controls when the entities matching entityQuery are computed and captured.

    Type Parameters
    Name Description
    T

    The type of shared component to set.

    Remarks

    Entities which already have the component type will have the component set to the value.

    Exceptions
    Type Condition
    NullReferenceException

    Throws if an Allocator was not passed in when the EntityCommandBuffer was created.

    InvalidOperationException

    Throws if this EntityCommandBuffer has already been played back.

    AddSharedComponent<T>(EntityQuery, T)

    Obsolete. Use AddSharedComponent<T>(EntityQuery, T, EntityQueryCaptureMode) instead.

    Declaration
    [Obsolete("This method now takes an extra parameter to control when the query is evaluated. To preserve the current semantics, use EntityQueryCaptureMode.AtRecord (RemovedAfter Entities 2.0)")]
    public void AddSharedComponent<T>(EntityQuery entityQuery, T component) where T : unmanaged, ISharedComponentData
    Parameters
    Type Name Description
    EntityQuery entityQuery

    The query specifying the entities to which the component is added.

    T component

    The component value to add.

    Type Parameters
    Name Description
    T

    The type of shared component to set.

    AddSharedComponent<T>(Entity, T)

    Records a command to add an unmanaged shared component value on an entity.

    Declaration
    public void AddSharedComponent<T>(Entity e, T sharedComponent) where T : unmanaged, ISharedComponentData
    Parameters
    Type Name Description
    Entity e

    The entity to add the shared component value to.

    T sharedComponent

    The shared component value to add.

    Type Parameters
    Name Description
    T

    The type of shared component to add.

    Remarks

    At playback, this command throws an error if this entity is destroyed before playback, if this entity is still deferred, if adding this shared component exceeds the maximum number of shared components, or adding a component type makes the archetype too large.

    Exceptions
    Type Condition
    NullReferenceException

    Throws if an Allocator was not passed in when the EntityCommandBuffer was created.

    InvalidOperationException

    Throws if this EntityCommandBuffer has already been played back.

    AddSharedComponent<T>(NativeArray<Entity>, T)

    Records a command to add an unmanaged shared component value on a NativeArray of entities.

    Declaration
    public void AddSharedComponent<T>(NativeArray<Entity> entities, T sharedComponent) where T : unmanaged, ISharedComponentData
    Parameters
    Type Name Description
    NativeArray<Entity> entities

    The NativeArray of entities to add the shared component value to.

    T sharedComponent

    The shared component value to add.

    Type Parameters
    Name Description
    T

    The type of shared component to add.

    Remarks

    At playback, this command throws an error if any entity is destroyed before playback, if any entity is still deferred, if adding this shared component exceeds the maximum number of shared components, or adding a component type makes the archetype too large.

    Exceptions
    Type Condition
    NullReferenceException

    Throws if an Allocator was not passed in when the EntityCommandBuffer was created.

    InvalidOperationException

    Throws if this EntityCommandBuffer has already been played back.

    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)