#pragma once #include #include namespace engine { class Scene; template class EcsSystem { public: EcsSystem(Scene* scene) : m_scene(scene) { } ~EcsSystem() {} EcsSystem(const EcsSystem&) = delete; EcsSystem& operator=(const EcsSystem&) = delete; Scene* const m_scene; std::map m_components{}; virtual void onUpdate(float ts) = 0; }; }