docs.unity.cn
    Show / Hide Table of Contents

    Method SwapComponents

    SwapComponents(ArchetypeChunk, Int32, ArchetypeChunk, Int32)

    Swaps the components of two entities.

    Declaration
    public void SwapComponents(ArchetypeChunk leftChunk, int leftIndex, ArchetypeChunk rightChunk, int rightIndex)
    Parameters
    Type Name Description
    ArchetypeChunk leftChunk

    A chunk containing one of the entities to swap.

    Int32 leftIndex

    The index within the leftChunk of the entity and components to swap. Must be in the range [0,leftChunk.Count).

    ArchetypeChunk rightChunk

    The chunk containing the other entity to swap. This chunk can be the same as the leftChunk. It also does not need to be in the same World as leftChunk.

    Int32 rightIndex

    The index within the rightChunk of the entity and components to swap. Must be in the range [0,rightChunk.Count).

    Remarks

    The entities must have the same components. However, this function can swap the components of entities in different worlds, so they do not need to have identical archetype instances.

    Important: This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before swapping the component. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.

    Back to top Copyright © 2023 Unity Technologies — Terms of use
    Generated by DocFX
    on Thursday, August 10, 2023