diff options
Diffstat (limited to 'src/game-server/emotemanager.cpp')
-rw-r--r-- | src/game-server/emotemanager.cpp | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/src/game-server/emotemanager.cpp b/src/game-server/emotemanager.cpp index 35f0aa47..c4128545 100644 --- a/src/game-server/emotemanager.cpp +++ b/src/game-server/emotemanager.cpp @@ -26,37 +26,39 @@ void EmoteManager::initialize() { clear(); +} - XML::Document doc(mEmoteFile); - xmlNodePtr rootNode = doc.rootNode(); +void EmoteManager::reload() +{ + clear(); +} - if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "emotes")) +/** + * Read a <emote> element from settings. + * Used by SettingsManager. + */ +void EmoteManager::readEmoteNode(xmlNodePtr node, const std::string &filename) +{ + int id = XML::getProperty(node, "id", -1); + if (id < 0) { - LOG_ERROR("Emote Manager: " << mEmoteFile - << " is not a valid emote file!"); + LOG_WARN("The " << filename << " file is containing an invalid id" + "(" << id << ") and will be ignored."); return; } - LOG_INFO("Loading emote reference: " << mEmoteFile); - - for_each_xml_child_node(emoteNode, rootNode) - { - if (!xmlStrEqual(emoteNode->name, BAD_CAST "emote")) - continue; - - int id = XML::getProperty(emoteNode, "id", -1); - if (id < 0) - { - LOG_WARN("The " << mEmoteFile << " file is containing an invalid id" - "(" << id << ") and will be ignored."); - continue; - } + mEmoteIds.push_back(id); +} - mEmoteIds.push_back(id); - } +/** + * Check the status of recently loaded configuration. + */ +void EmoteManager::checkStatus() +{ LOG_INFO(mEmoteIds.size() << " emotes available."); } + bool EmoteManager::isIdAvailable(int id) const { std::vector<int>::const_iterator it = mEmoteIds.begin(); |