#pragma once ////////////////////////////////////////////////////////////////////////// // class GameField; ////////////////////////////////////////////////////////////////////////// // // class GameZone { friend class WiseMapInfo; struct sPAIR { FIELDCODE mcFIELDCODE; GameField* pGAMEFIELD; }; typedef STLX_VECTOR 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; };