vkmEngine 1.0.0
A C++ game engine · vkmengine.com
Loading...
Searching...
No Matches
hierarchy_system.h
1#pragma once
2
3#include <vector>
4
5#include "core/system.h"
6#include "ecs/entity.h"
7
8namespace Vkm::Engine {
9
18class HierarchySystem : public System {
19 public:
20 HierarchySystem() = default;
21 ~HierarchySystem() override = default;
22
23 HierarchySystem(const HierarchySystem& other) = delete;
24 HierarchySystem& operator=(const HierarchySystem& other) = delete;
25
26 HierarchySystem(HierarchySystem && other) = delete;
27 HierarchySystem& operator=(HierarchySystem && other) = delete;
28
29 public:
30 void update(FrameContext& ctx) override;
31
32 private:
42 void resolve(Scene& scene);
43
44 private:
45 std::vector<EntityId> m_level;
46 std::vector<EntityId> m_next;
47};
48
49} // namespace Vkm::Engine
void update(FrameContext &ctx) override
Execute this system for the current frame.
Central registry managing entities and an open set of component types.
Definition scene.h:29
Per-frame state bundle passed to every system.
Definition system.h:55