#include "stdafx.h" #include "ZoneManager.h" #include "GameZone.h" #include "WiseMapInfo.h" ////////////////////////////////////////////////////////////////////////// // ZoneManager* ZoneManager::m_pInstance = NULL; ZoneManager::ZoneManager() { } ZoneManager::~ZoneManager() { } ZoneManager* ZoneManager::Instance() { if(m_pInstance) return m_pInstance; m_pInstance = new ZoneManager(); return m_pInstance; } ////////////////////////////////////////////////////////////////////////// // GameZone* ZoneManager::GetMap(MAPCODE mcCODE) { ZoneManager& rZONE = *ZoneManager::Instance(); GAME_ZONE_HASH& rHASH = rZONE.m_ZoneHash; GAME_ZONE_HASH_IT itFIND = rHASH.find(mcCODE); GameZone* pZONE = NULL; if(itFIND != rHASH.end()) { pZONE = itFIND->second; return pZONE; } WiseMapInfo::ConstructInstance(mcCODE, pZONE); return pZONE; } DWORD ZoneManager::GetMapCheckSum(FIELDCODE mcFIELDCODE) { GameZone* pZONE = GetMap(mcFIELDCODE); if(pZONE) return pZONE->GetMapVersion(mcFIELDCODE); return 0; }