1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-28 08:48:48 +02:00
vcmi/lib/CMapInfo.h

36 lines
1.1 KiB
C
Raw Normal View History

2010-10-25 19:06:48 +03:00
#pragma once
2010-10-25 19:06:48 +03:00
class CMapHeader;
class CCampaignHeader;
struct StartInfo;
2010-10-25 19:06:48 +03:00
/// A class which stores the count of human players and all players, the filename,
/// scenario options, the map header information,...
class DLL_LINKAGE CMapInfo
2010-10-25 19:06:48 +03:00
{
public:
CMapHeader * mapHeader; //may be NULL if campaign
CCampaignHeader * campaignHeader; //may be NULL if scenario
StartInfo *scenarioOpts; //options with which scenario has been started (used only with saved games)
std::string fileURI;
2010-10-25 19:06:48 +03:00
std::string date;
int playerAmnt, //players in map
humanPlayers; //players ALLOWED to be controlled by human
2010-10-25 19:06:48 +03:00
int actualHumanPlayers; // >1 if multiplayer game
CMapInfo(bool map = true);
~CMapInfo();
//CMapInfo(const std::string &fname, const ui8 *map);
2010-10-25 19:06:48 +03:00
void setHeader(CMapHeader *header);
void mapInit(const std::string &fname, const ui8 *map);
2010-10-25 19:06:48 +03:00
void campaignInit();
void countPlayers();
template <typename Handler> void serialize(Handler &h, const int Version)
{
h & mapHeader & campaignHeader & scenarioOpts & fileURI & date & playerAmnt & humanPlayers;
2010-10-25 19:06:48 +03:00
h & actualHumanPlayers;
}
};