37 Engine(
const std::function<std::shared_ptr<IAudio>()> &audioFactory,
38 const std::function<std::shared_ptr<INetworkClient>()> &networkFactory,
39 const std::function<std::shared_ptr<IRenderer>()> &rendererFactory);
47 std::shared_ptr<IAudio> &
getAudio() {
return m_audio; }
48 std::shared_ptr<INetworkClient> &
getNetwork() {
return m_network; }
49 std::shared_ptr<IRenderer> &
getRenderer() {
return m_renderer; }
50 std::unique_ptr<utl::Clock> &
getClock() {
return m_clock; }
56 void render(
const WindowSize &windowSize,
Color clearColor,
bool showDebug)
const;
57 void stop()
const { m_renderer->closeWindow(); }
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.
std::shared_ptr< IAudio > & getAudio()
std::unique_ptr< utl::Clock > & getClock()
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()
std::unique_ptr< SceneManager > m_sceneManager
Engine & operator=(const Engine &)=delete
Engine & operator=(Engine &&)=delete
std::shared_ptr< IAudio > m_audio
std::shared_ptr< INetworkClient > & getNetwork()
This file contains the SceneManager class declaration.