|
Cogs.Core
|
The scene system handles SceneComponent instances, managing hierarchical visibility and pickability based on the components field values. More...
#include <SceneSystem.h>
Public Member Functions | |
| SceneSystem (Memory::Allocator *allocator, SizeType capacity) | |
| void | update (Context *context) |
| Updates the scene system. | |
| void | postUpdate (Context *context) |
| Provided for custom post update logic in derived systems. | |
Public Member Functions inherited from Cogs::Core::ComponentSystem< SceneComponent > | |
| ComponentSystem (Memory::Allocator *allocator, SizeType size=16384, MemBlockType componentMemType=MemBlockType::Component) | |
| void | instrumentedPreUpdate () override |
| Provided for tagged engine instrumentation. | |
| void | instrumentedUpdate () override |
| Provided for tagged engine instrumentation. | |
| void | instrumentedPostUpdate () override |
| Provided for tagged engine instrumentation. | |
| ComponentHandle | createComponent () override |
| Create a new component instance. | |
| void | destroyComponent (ComponentHandle component) override |
| Destroy the component held by the given handle. | |
| SizeType | getComponentIndex (const Component *component) const |
| Get the index of the given component in the component pool. | |
| size_t | size () |
| Returns the number of active components. | |
| void | clearCarryFlags () |
| Clear carry flags of all active components. | |
| void | resetFlags () |
| Reset the flags of all active components. | |
| void | prepareUpdate (Context *) override |
| void | postUpdate (Context *) override |
| ComponentHandle | getHandle (const SceneComponent *component) |
| Get a handle to the given Component instance. | |
| virtual void | addEntitiesWithComponent (std::vector< EntityId > &entities, Reflection::TypeId componentTypeId) override |
| Return all entities with a given. | |
Public Member Functions inherited from Cogs::Core::ComponentSystemBase | |
| virtual | ~ComponentSystemBase () |
| Provided for destruction via pointer to base. | |
| ComponentSystemBase (Reflection::TypeId componentType) | |
| Constructs a ComponentSystemBase to manage components of the given componentType. | |
| virtual void | initialize (Context *context) |
| Initialize the system. | |
| void | preUpdate () |
| Run the pre-update method of the system. | |
| void | update () |
| Updates the system state to that of the current frame. | |
| void | postUpdate () |
| Perform post update logic in the system. | |
| virtual void | preUpdate (Context *) |
| Provided for custom pre update logic in derived systems. | |
| virtual void | prepareUpdate (Context *) |
| Provided for custom update preparation logic in derived systems. | |
| virtual void | update (Context *) |
| Provided for custom update logic in derived systems. | |
| virtual void | postUpdate (Context *) |
| Provided for custom post update logic in derived systems. | |
| virtual void | instrumentedPreUpdate () |
| Provided for tagged engine instrumentation. | |
| virtual void | instrumentedUpdate () |
| Provided for tagged engine instrumentation. | |
| virtual void | instrumentedPostUpdate () |
| Provided for tagged engine instrumentation. | |
| virtual void | addEntitiesWithComponent (std::vector< EntityId > &, Reflection::TypeId) |
| Return all entities with a given. | |
| virtual void | cleanup (Context *) |
| Provided for custom cleanup logic in derived systems. | |
| virtual ComponentHandle | createComponent () |
| Create a new component instance. | |
| virtual void | destroyComponent (ComponentHandle) |
| Destroy the component held by the given handle. | |
| Reflection::TypeId | getComponentType () const |
| Get the reflected type of the components managed by this system. | |
Static Public Member Functions | |
| static void | updateState (SceneComponent &sceneComponent) |
Static Public Member Functions inherited from Cogs::Core::ComponentSystem< SceneComponent > | |
| static Reflection::TypeId | getTypeId () |
| Get the type id of the component type used by the system. | |
Static Private Member Functions | |
| static SceneState | getSceneState (const SceneComponent &sceneComponent) |
Private Attributes | |
| bool | needsPost = true |
Additional Inherited Members | |
Public Types inherited from Cogs::Core::ComponentSystem< SceneComponent > | |
| typedef SceneComponent | component_type |
Public Attributes inherited from Cogs::Core::ComponentSystem< SceneComponent > | |
| ComponentPool< SceneComponent > | pool |
| Pool of components managed by the system. | |
Public Attributes inherited from Cogs::Core::ComponentSystemBase | |
| Reflection::TypeId | componentType |
| The type of components managed by this instance. | |
| Context * | context = nullptr |
| Pointer to the Context instance the system lives in. | |
The scene system handles SceneComponent instances, managing hierarchical visibility and pickability based on the components field values.
Definition at line 23 of file SceneSystem.h.
|
inline |
Definition at line 26 of file SceneSystem.h.
|
staticprivate |
Definition at line 74 of file SceneSystem.cpp.
|
virtual |
Provided for custom post update logic in derived systems.
Reimplemented from Cogs::Core::ComponentSystemBase.
Definition at line 67 of file SceneSystem.cpp.
References Cogs::Core::ComponentSystemBase::postUpdate().
|
virtual |
Updates the scene system.
Reimplemented from Cogs::Core::ComponentSystemBase.
Definition at line 8 of file SceneSystem.cpp.
References Cogs::Core::SceneComponent::children, Cogs::Core::ComponentSystem< SceneComponent >::getHandle(), Cogs::Core::SceneComponent::parent, Cogs::Core::ParentPickable, Cogs::Core::ParentVisibility, Cogs::Core::ComponentSystem< SceneComponent >::pool, Cogs::Core::SelfPickable, and Cogs::Core::SelfVisibility.
|
static |
Definition at line 86 of file SceneSystem.cpp.
|
private |
Definition at line 37 of file SceneSystem.h.