#pragma once #include "system.h" namespace simpleengine { // fwd decl class Camera; namespace gfx { class Renderer; } namespace ecs { class Entity; class Registry; namespace system { class SceneSystem : public System { protected: std::shared_ptr renderer; std::shared_ptr camera; public: SceneSystem(std::shared_ptr entity_registry, std::shared_ptr renderer, std::shared_ptr camera); ecs::Entity create_entity(); virtual void update(const float& delta_time) override; virtual void input_update(const float& delta_time) override; virtual void render(const float& interpolate_alpha, const float& frame_time) override; virtual void destroy() override; }; } } }