1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-28 08:48:48 +02:00
vcmi/client/CGameInfo.h
Michał W. Urbańczyk 05f166f751 Portability fix for „Win64”. 32-bit DLLs (bink, smack) cannot be loaded, so an empty player-placeholder is used to capture calls we can't properly handle.
Probably some fixes for Linux will be needed. (I guess the whole thing could use some refactoring to unify more code)
2011-08-08 07:12:18 +00:00

83 lines
1.8 KiB
C++

#ifndef __CGAMEINFO_H__
#define __CGAMEINFO_H__
#include "../global.h"
#include "../lib/ConstTransitivePtr.h"
/*
* CGameInfo.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
*
*/
class CMapHandler;
class CArtHandler;
class CHeroHandler;
class CCreatureHandler;
class CSpellHandler;
class CBuildingHandler;
class CObjectHandler;
class CSoundHandler;
class CMusicHandler;
class CDefObjInfoHandler;
class CTownHandler;
class CGeneralTextHandler;
class CConsoleHandler;
class CCursorHandler;
class CGameState;
class IMainVideoPlayer;
//a class for non-mechanical client GUI classes
class CClientState
{
public:
CSoundHandler * soundh;
CMusicHandler * musich;
CConsoleHandler * consoleh;
CCursorHandler * curh;
IMainVideoPlayer * videoh;
};
struct Mapa;
/// CGameInfo class
/// for allowing different functions for accessing game informations
class CGameInfo
{
ConstTransitivePtr<CGameState> state; //don't touch it in client's code
public:
ConstTransitivePtr<CArtHandler> arth;
ConstTransitivePtr<CHeroHandler> heroh;
ConstTransitivePtr<CCreatureHandler> creh;
ConstTransitivePtr<CSpellHandler> spellh;
ConstTransitivePtr<CObjectHandler> objh;
ConstTransitivePtr<CDefObjInfoHandler> dobjinfo;
CGeneralTextHandler * generaltexth;
CMapHandler * mh;
ConstTransitivePtr<CBuildingHandler> buildh;
CTownHandler * townh;
//CTownHandler * townh;
void setFromLib();
friend class CClient;
friend void initVillagesCapitols(Mapa * map);
CGameInfo();
};
//
// public:
//
// ConstTransitivePtr<CGeneralTextHandler> generaltexth;
#endif // __CGAMEINFO_H__