engine/ecs/ComponentReflector.ixx File
Compile-time reflection for component lifecycle hook registration. More...
Included Headers
#include <type_traits>
#include <helios.engine.ecs.EntityManager>
#include <helios.engine.ecs.ComponentOpsRegistry>
#include <helios.engine.ecs.ComponentOps>
#include <helios.engine.ecs.types.ComponentTypeId>
#include <helios.engine.ecs.Traits>
#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... | |
Classes Index
| class | ComponentReflector |
|
Generates and registers ComponentOps for a component type. More... | |
Description
Compile-time reflection for component lifecycle hook registration.
File Listing
The file content with the documentation metadata removed is:
18export namespace helios::engine::ecs {
56 class ComponentReflector {
71 static void registerType() {
73 ComponentOps ops{
106 .clone = [](void* managerRaw, const void* sourceRaw, const EntityHandle* target) -> void* {
108 auto* manager = static_cast<helios::engine::ecs::EntityManager*>(managerRaw);
143 const auto typeId = helios::engine::ecs::types::ComponentTypeId::id<T>();
145 ComponentOpsRegistry::setOps(typeId, ops);
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.