mirror of
https://github.com/vcmi/vcmi.git
synced 2025-05-15 22:16:37 +02:00
39 lines
876 B
C++
39 lines
876 B
C++
|
/*
|
||
|
* GameInstance.h, part of VCMI engine
|
||
|
*
|
||
|
* Authors: listed in file AUTHORS in main folder
|
||
|
*
|
||
|
* License: GNU General Public License v2.0 or later
|
||
|
* Full text of license available in license.txt file, in main folder
|
||
|
*
|
||
|
*/
|
||
|
#pragma once
|
||
|
|
||
|
class CServerHandler;
|
||
|
class GlobalLobbyClient;
|
||
|
class INetworkHandler;
|
||
|
class CPlayerInterface;
|
||
|
class CMapHandler;
|
||
|
|
||
|
class GameInstance : boost::noncopyable
|
||
|
{
|
||
|
std::unique_ptr<CServerHandler> serverInstance;
|
||
|
std::unique_ptr<CMapHandler> mapInstance;
|
||
|
CPlayerInterface * interfaceInstance;
|
||
|
|
||
|
public:
|
||
|
GameInstance();
|
||
|
~GameInstance();
|
||
|
|
||
|
CServerHandler & server();
|
||
|
CMapHandler & map();
|
||
|
|
||
|
CPlayerInterface * interface();
|
||
|
|
||
|
void setServerInstance(std::unique_ptr<CServerHandler> ptr);
|
||
|
void setMapInstance(std::unique_ptr<CMapHandler> ptr);
|
||
|
void setInterfaceInstance(CPlayerInterface * ptr);
|
||
|
};
|
||
|
|
||
|
extern std::unique_ptr<GameInstance> GAME;
|