Files
axyz/include/Game/Game.h
T
stiffly 6dc5112c26 Merge branch 'Networking' of github.com:teamfisk/TacticalZ into Networking
# Conflicts:
#	include/Engine/Network/Client.h
#	src/Game/Game.cpp
2015-12-08 16:15:50 +01:00

49 lines
1008 B
C++

#ifndef Game_h__
#define Game_h__
#include "Core/ResourceManager.h"
#include "Core/ConfigFile.h"
#include "Core/EventBroker.h"
#include "Rendering/Renderer.h"
#include "Core/InputManager.h"
#include "GUI/Frame.h"
#include "Core/World.h"
#include "Rendering/RenderQueueFactory.h"
// Network
#include <boost/thread.hpp>
#include "Network/Server.h"
#include "Network/Client.h"
class Game
{
public:
Game(int argc, char* argv[]);
~Game();
bool Running() const { return !glfwWindowShouldClose(m_Renderer->Window()); }
void Tick();
private:
double m_LastTime;
ConfigFile* m_Config = nullptr;
EventBroker* m_EventBroker;
IRenderer* m_Renderer;
InputManager* m_InputManager;
GUI::Frame* m_FrameStack;
World* m_World;
RenderQueueFactory* m_RenderQueueFactory;
// Network variables
boost::thread m_NetworkThread;
Server m_Server;
Client m_Client;
// Network methods
void NetworkFunction();
// Network events
EventRelay<Client, Events::KeyDown> m_EKeyDown;
};
#endif