HierarchyPropagationSystem.ixx File
System for propagating activation state through entity hierarchies. More...
Included Headers
#include <cassert>
#include <utility>
#include <vector>
#include <helios.engine.common.tags.SystemRole>
#include <helios.engine.mechanics.lifecycle.components.Inactive>
#include <helios.engine.mechanics.lifecycle.components.Active>
#include <helios.engine.runtime.world.UpdateContext>
#include <helios.engine.ecs.components.HierarchyComponent>
#include <helios.engine.runtime.world.GameWorld>
#include <helios.engine.ecs.GameObject>
#include <helios.engine.ecs.EntityHandle>
Namespaces Index
| namespace | helios |
| namespace | engine |
|
Main engine module aggregating core infrastructure and game systems. More... | |
| namespace | ecs |
|
Core Entity-Component-System architecture. More... | |
| namespace | systems |
|
Core ECS systems for entity management. More... | |
Classes Index
| class | HierarchyPropagationSystem |
|
Propagates activation state from parent to child entities. More... | |
Description
System for propagating activation state through entity hierarchies.
File Listing
The file content with the documentation metadata removed is:
30export namespace helios::engine::ecs::systems {
33 using namespace helios::engine::ecs;
47 class HierarchyPropagationSystem {
55 void updateEntityHierarchy(GameObject go, helios::engine::runtime::world::UpdateContext& updateContext, bool active) {
57 auto* hc = go.get<helios::engine::ecs::components::HierarchyComponent>();
61 hc->clearDirty();
63 if (auto ent = updateContext.find(child)) {
84 void update(helios::engine::runtime::world::UpdateContext& updateContext) noexcept {
86 for (auto [entity, hc, active] : updateContext.view<
101 for (auto [entity, hc, active] : updateContext.view<
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.