41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
#pragma once
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
class GameField;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// <GameZone>
|
|
//
|
|
class GameZone
|
|
{
|
|
friend class WiseMapInfo;
|
|
struct sPAIR
|
|
{
|
|
FIELDCODE mcFIELDCODE;
|
|
GameField* pGAMEFIELD;
|
|
};
|
|
typedef STLX_VECTOR<sPAIR> GAME_FIELD_LIST;
|
|
typedef GAME_FIELD_LIST::iterator GAME_FIELD_LIST_IT;
|
|
|
|
public: GameZone() { _Clear(); }
|
|
~GameZone() {}
|
|
|
|
public: inline MAPCODE GetMapCode() { return m_MapCode; }
|
|
BOOL SetCurrentField(FIELDCODE mcFIELDCODE);
|
|
inline GameField* GetCurrentField() { return m_pCurrentField; }
|
|
DWORD GetMapVersion(FIELDCODE mcFIELDCODE);
|
|
|
|
private: void Init(MAPCODE mcCODE);
|
|
void Release();
|
|
|
|
void _AddGameField(GameField* pGameField);
|
|
BOOL _GetRefGameField(FIELDCODE mcFIELDCODE, GAME_FIELD_LIST_IT& rFIND_IT);
|
|
|
|
private: void _Clear();
|
|
|
|
private: MAPCODE m_MapCode;
|
|
GameField* m_pCurrentField;
|
|
GAME_FIELD_LIST m_GameFieldList;
|
|
};
|