engine/include/ecs/ecs_system.hpp

32 lines
411 B
C++
Raw Normal View History

2022-12-15 10:07:22 +00:00
#pragma once
#include <map>
#include <memory>
2022-12-15 15:54:11 +00:00
namespace engine {
2022-12-15 10:07:22 +00:00
2022-12-20 23:51:04 +00:00
class Scene;
2022-12-15 10:07:22 +00:00
template <class T>
2022-12-15 15:54:11 +00:00
class EcsSystem {
2022-12-15 10:07:22 +00:00
public:
2022-12-20 23:51:04 +00:00
EcsSystem(Scene* scene)
: m_scene(scene)
{
}
~EcsSystem() {}
EcsSystem(const EcsSystem&) = delete;
EcsSystem& operator=(const EcsSystem&) = delete;
Scene* const m_scene;
2022-12-15 10:07:22 +00:00
std::map<uint32_t, T> m_components{};
virtual void onUpdate(float ts) = 0;
};
}