39 Engine(
const std::function<std::shared_ptr<IAudio>()> &audioFactory,
40 const std::function<std::shared_ptr<INetworkClient>()> &networkFactory,
41 const std::function<std::shared_ptr<IRenderer>()> &rendererFactory);
This file contains the Clock class.
This file contains the Audio interface.
This file contains the client network interface.
This file contains the IRenderer class declaration.
This file contains the Registry class declaration.
Class for managing entities and their components.
Class for the game engine.
std::shared_ptr< IAudio > & getAudio()
std::unique_ptr< utl::Clock > & getClock()
Engine(const std::function< std::shared_ptr< IAudio >()> &audioFactory, const std::function< std::shared_ptr< INetworkClient >()> &networkFactory, const std::function< std::shared_ptr< IRenderer >()> &rendererFactory)
std::shared_ptr< IRenderer > & getRenderer()
std::unique_ptr< utl::Clock > m_clock
std::shared_ptr< INetworkClient > m_network
std::shared_ptr< IRenderer > m_renderer
void setState(const State newState)
Engine(const Engine &)=delete
std::unique_ptr< SceneManager > & getSceneManager()
void addSystem(std::unique_ptr< ISystem > system)
void updateSystems(ecs::Registry ®istry, float dt) const
std::unique_ptr< SceneManager > m_sceneManager
std::vector< std::unique_ptr< ISystem > > m_systems
Engine & operator=(const Engine &)=delete
Engine & operator=(Engine &&)=delete
void render(ecs::Registry ®istry, Color clearColor, float dt) const
std::shared_ptr< IAudio > m_audio
std::shared_ptr< INetworkClient > & getNetwork()
This file contains the SceneManager class declaration.