docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Method SetSharedComponent

    SetSharedComponent<T>(EntityQuery, T, EntityQueryCaptureMode)

    Records a command to set an unmanaged shared component value on all entities matching a query.

    Declaration
    public void SetSharedComponent<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

    Fails if any of the entities do not have the type of shared component. [todo: should it be required that the component type is included in the query?]

    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.

    SetSharedComponent<T>(EntityQuery, T)

    Obsolete. Use SetSharedComponent<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 SetSharedComponent<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 set.

    Type Parameters
    Name Description
    T

    The type of shared component to set.

    SetSharedComponent<T>(Entity, T)

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

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

    The entity to set the shared component value of.

    T sharedComponent

    The shared component value to set.

    Type Parameters
    Name Description
    T

    The type of shared component to set.

    Remarks

    At playback, this command throws an error if this entity is destroyed before playback, if this entity is still deferred, if the entity has the Prefab tag, or if the entity doesn't have the shared component type.

    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.

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

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

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

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

    T sharedComponent

    The shared component value to set.

    Type Parameters
    Name Description
    T

    The type of shared component to set.

    Remarks

    At playback, this command throws an error if any entity is destroyed before playback, if any entity is still deferred, if any entity has the Prefab tag, or if any entity doesn't have the shared component type.

    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)