docs.unity.cn
    Show / Hide Table of Contents

    Method SetSharedComponentData

    SetSharedComponentData<T>(Entity, T)

    Sets the shared component of an entity.

    Declaration
    [NotBurstCompatible]
    public void SetSharedComponentData<T>(Entity entity, T componentData)
        where T : struct, ISharedComponentData
    Parameters
    Type Name Description
    Entity entity

    The entity

    T componentData

    A shared component object containing the values to set.

    Type Parameters
    Name Description
    T

    The shared component type.

    Remarks

    Changing a shared component value of an entity results in the entity being moved to a different chunk. The entity moves to a chunk with other entities that have the same shared component values. A new chunk is created if no chunk with the same archetype and shared component values currently exists.

    Important: This function creates a sync point, which means that the EntityManager waits for all currently running Jobs to complete before setting the component and no additional Jobs can start before the function is finished. A sync point can cause a drop in performance because the ECS framework may not be able to make use of the processing power of all available cores.

    SetSharedComponentData<T>(EntityQuery, T)

    Sets the shared component of all entities in the query.

    Declaration
    [NotBurstCompatible]
    public void SetSharedComponentData<T>(EntityQuery query, T componentData)
        where T : struct, ISharedComponentData
    Parameters
    Type Name Description
    EntityQuery query
    T componentData

    A shared component object containing the values to set.

    Type Parameters
    Name Description
    T

    The shared component type.

    Remarks

    The component data stays in the same chunk, the internal shared component data indices will be adjusted.

    Important: This function creates a sync point, which means that the EntityManager waits for all currently running Jobs to complete before setting the component and no additional Jobs can start before the function is finished. A sync point can cause a drop in performance because the ECS framework may not be able to make use of the processing power of all available cores.

    Back to top Copyright © 2022 Unity Technologies
    Generated by DocFX
    on 04 August 2022
    Terms of use