#pragma once #include #include #include #include "SFMLOrthogonalLayer.hpp" #include "Launcher.hpp" #include "IEntity.hpp" #include "State.hpp" #include "Renderer.hpp" class Core { public: Core() = delete; Core(sf::RenderWindow* window); virtual ~Core(); void run(); private: //void registerEntity(IEntity* entity); //void deregisterEntity(IEntity* entity); void events(); void update(float dt); Renderer m_renderer; State* m_state; State* m_oldState{ nullptr }; std::vector m_entities; bool m_running; sf::RenderWindow* m_window; };