Skip to main content

ClearDirtySystem Class Template

Clears dirty flags for configured component templates on active entities. More...

Declaration

template <typename TMemberHandle, template< typename > typename ... TComponents> class helios::engine::core::systems::ClearDirtySystem<TMemberHandle, TComponents> { ... }

Public Member Typedefs Index

template < ... >
usingEngineRoleTag = SystemRole

Role tag used for runtime registration as a system. More...

Public Member Functions Index

template < ... >
voidupdate (UpdateContext &updateContext) noexcept

Executes the dirty-clear pass for all configured component types. More...

Private Member Functions Index

template <template< typename > typename TComponent>
voidclearDirtyFor (UpdateContext &updateContext)

Clears the dirty flag for one component type. More...

template <template< typename > typename... Args>
voidclearDirtyForAll (UpdateContext &updateContext)

Clears dirty flags for all configured component types. More...

Description

Clears dirty flags for configured component templates on active entities.

Iterates active entities for each configured component type and calls clearDirty() on matching components.

Template Parameters
TMemberHandle

Entity handle type.

TComponents

Component templates that satisfy IsDirtyTrackerLike.

Definition at line 32 of file ClearDirtySystem.ixx.

Public Member Typedefs

EngineRoleTag

template <typename TMemberHandle, template< typename > typename ... TComponents>
using helios::engine::core::systems::ClearDirtySystem< TMemberHandle, TComponents >::EngineRoleTag = SystemRole

Role tag used for runtime registration as a system.

Definition at line 67 of file ClearDirtySystem.ixx.

Public Member Functions

update()

template <typename TMemberHandle, template< typename > typename ... TComponents>
void helios::engine::core::systems::ClearDirtySystem< TMemberHandle, TComponents >::update (UpdateContext & updateContext)
inline noexcept

Executes the dirty-clear pass for all configured component types.

Parameters
updateContext

Frame-local update context with ECS access.

Definition at line 74 of file ClearDirtySystem.ixx.

75 clearDirtyForAll<TComponents...>(updateContext);
76 }

Reference helios::registerComponents.

Private Member Functions

clearDirtyFor()

template <template< typename > typename TComponent>
void helios::engine::core::systems::ClearDirtySystem< TMemberHandle, TComponents >::clearDirtyFor (UpdateContext & updateContext)
inline

Clears the dirty flag for one component type.

Template Parameters
TComponent

Component template to process.

Parameters
updateContext

Frame-local update context.

Definition at line 41 of file ClearDirtySystem.ixx.

41 void clearDirtyFor(UpdateContext& updateContext) {
42 for (auto [entity, cmp, active] : updateContext.view<
46 cmp->clearDirty();
47 }
48 }

clearDirtyForAll()

template <template< typename > typename... Args>
void helios::engine::core::systems::ClearDirtySystem< TMemberHandle, TComponents >::clearDirtyForAll (UpdateContext & updateContext)
inline

Clears dirty flags for all configured component types.

Template Parameters
Args

Component templates to process.

Parameters
updateContext

Frame-local update context.

Definition at line 57 of file ClearDirtySystem.ixx.

57 void clearDirtyForAll(UpdateContext& updateContext) {
59 }

The documentation for this class was generated from the following file:


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.