diff options
Diffstat (limited to 'src/game-server/mapmanager.cpp')
-rw-r--r-- | src/game-server/mapmanager.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/game-server/mapmanager.cpp b/src/game-server/mapmanager.cpp index 6ba7464b..f4bb33bd 100644 --- a/src/game-server/mapmanager.cpp +++ b/src/game-server/mapmanager.cpp @@ -68,11 +68,11 @@ MapManager::MapManager(std::string const &mapReferenceFile) continue; } - unsigned id = XML::getProperty(node, "id", 0); + int id = XML::getProperty(node, "id", 0); std::string name = XML::getProperty(node, "name", std::string()); if (id != 0 && !name.empty()) { - LoadedMap m = { name, NULL }; + LoadedMap m = { false, name, NULL }; maps[id] = m; } } @@ -88,7 +88,7 @@ MapManager::~MapManager() } } -Map *MapManager::getMap(unsigned mapId) +Map *MapManager::getMap(int mapId) { Maps::iterator i = maps.find(mapId); assert(i != maps.end()); @@ -107,9 +107,24 @@ Map *MapManager::getMap(unsigned mapId) return map; } -std::string MapManager::getMapName(unsigned mapId) +std::string MapManager::getMapName(int mapId) const { - Maps::iterator i = maps.find(mapId); + Maps::const_iterator i = maps.find(mapId); assert(i != maps.end()); return i->second.fileName; } + +void MapManager::raiseActive(int mapId) +{ + Maps::iterator i = maps.find(mapId); + assert(i != maps.end()); + i->second.isActive = true; + LOG_INFO("Activating map \"" << i->second.fileName << "\" (id " << i->first << ")", 0); +} + +bool MapManager::isActive(int mapId) const +{ + Maps::const_iterator i = maps.find(mapId); + assert(i != maps.end()); + return i->second.isActive; +} |