docs.unity.cn
    Show / Hide Table of Contents

    Method SetComponentEnabled

    SetComponentEnabled<T>(SystemHandle, Boolean)

    Enable or disable a ComponentType on the specified SystemHandle.

    Declaration
    [GenerateTestsForBurstCompatibility(GenericTypeArguments = new Type[]{typeof(BurstCompatibleEnableableComponent)})]
    public void SetComponentEnabled<T>(SystemHandle systemHandle, bool value)
        where T : IEnableableComponent
    Parameters
    Type Name Description
    SystemHandle systemHandle

    The system whose component should be enabled or disabled.

    Boolean value

    True if the specified component should be enabled, or false if it should be disabled.

    Type Parameters
    Name Description
    T

    The component type to enable or disable. This type must implement the IEnableableComponent interface.

    Remarks

    This operation does not cause a structural change, and does not affect the current value of the component. To enable/disable components from a job, use SetComponentEnabled(SystemHandle, Boolean).

    Exceptions
    Type Condition
    ArgumentException

    The SystemHandle does not exist.

    See Also
    IsComponentEnabled<T>(SystemHandle)
    SetComponentEnabled(SystemHandle, Boolean)

    SetComponentEnabled<T>(Entity, Boolean)

    Enable or disable a ComponentType on the specified Entity.

    Declaration
    [GenerateTestsForBurstCompatibility(GenericTypeArguments = new Type[]{typeof(BurstCompatibleEnableableComponent)})]
    public void SetComponentEnabled<T>(Entity entity, bool value)
        where T : IEnableableComponent
    Parameters
    Type Name Description
    Entity entity

    The entity whose component should be enabled or disabled.

    Boolean value

    True if the specified component should be enabled, or false if it should be disabled.

    Type Parameters
    Name Description
    T

    The component type to enable or disable. This type must implement the IEnableableComponent interface.

    Remarks

    This operation does not cause a structural change, and does not affect the current value of the component.

    An entity with a disabled component will not match an EntityQuery that requires that component, and will match a query that excludes that component.

    To enable/disable components from a job, use SetComponentEnabled(Entity, Boolean). To enable/disable an entire Entity, use SetEnabled(Entity, Boolean) (which, unlike this function, does involve a structural change).

    Exceptions
    Type Condition
    ArgumentException

    The Entity does not exist.

    See Also
    IsComponentEnabled<T>(Entity)
    SetComponentEnabled(Entity, Boolean)

    SetComponentEnabled<T>(EntityQuery, Boolean)

    Sets or clears the "is enabled" bit for the provided component on all entities in all chunks matched by the query.

    Declaration
    [GenerateTestsForBurstCompatibility(GenericTypeArguments = new Type[]{typeof(BurstCompatibleEnableableComponent)})]
    public void SetComponentEnabled<T>(EntityQuery query, bool value)
        where T : IEnableableComponent
    Parameters
    Type Name Description
    EntityQuery query

    The query to match by.

    Boolean value

    If true, the component T will be enabled on all entities in all matching chunks. Otherwise, the component will be disabled on all components in all chunks.

    Type Parameters
    Name Description
    T

    The component type which should be enabled or disabled on all matching chunks. This type must be included in the query's required types, and must implement IEnableableComponent.

    Remarks

    The current value of the bits are ignored; this function will enable disabled components on entities, even if the component being disabled would cause the entity to not match the query. If any jobs are currently running which read or write the target component, this function will block until they complete before performing the requested operation.

    See Also
    IsComponentEnabled(Entity, ComponentType)
    SetComponentEnabled(Entity, Boolean)

    SetComponentEnabled(EntityQuery, ComponentType, Boolean)

    Sets or clears the "is enabled" bit for the provided component on all entities in all chunks matched by the query.

    Declaration
    public void SetComponentEnabled(EntityQuery query, ComponentType componentType, bool value)
    Parameters
    Type Name Description
    EntityQuery query

    The query to match.

    ComponentType componentType

    The component type which should be enabled or disabled on all matching chunks. This type must be included in the query's required types, and must implement IEnableableComponent.

    Boolean value

    If true, the component T will be enabled on all entities in all matching chunks. Otherwise, the component will be disabled on all components in all chunks.

    Remarks

    The current value of the bits are ignored; this function will enable disabled components on entities, even if the component being disabled would cause the entity to not match the query. If any jobs are currently running which read or write the target component, this function will block until they complete before performing the requested operation.

    See Also
    IsComponentEnabled(Entity, ComponentType)
    SetComponentEnabled(Entity, Boolean)

    SetComponentEnabled(Entity, ComponentType, Boolean)

    Enable or disable ComponentType on the specified Entity.

    Declaration
    public void SetComponentEnabled(Entity entity, ComponentType componentType, bool value)
    Parameters
    Type Name Description
    Entity entity

    The entity whose component should be enabled or disabled.

    ComponentType componentType

    The component type to enable or disable. This type must implement the IEnableableComponent interface.

    Boolean value

    True if the specified component should be enabled, or false if it should be disabled.

    Remarks

    This operation does not cause a structural change, and does not affect the current value of the component.

    An entity with a disabled component will not match an EntityQuery that requires that component, and will match a query that excludes that component.

    To enable/disable components from a job, use SetComponentEnabled(Entity, Boolean). To enable/disable an entire Entity, use SetEnabled(Entity, Boolean) (which, unlike this function, does involve a structural change).

    Exceptions
    Type Condition
    ArgumentException

    The Entity does not exist.

    See Also
    IsComponentEnabled(Entity, ComponentType)
    SetComponentEnabled(Entity, Boolean)
    Back to top Copyright © 2023 Unity Technologies — Terms of use
    Generated by DocFX
    on Wednesday, June 21, 2023