summaryrefslogtreecommitdiff
path: root/src/game-server/mapmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game-server/mapmanager.cpp')
-rw-r--r--src/game-server/mapmanager.cpp25
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;
+}