summaryrefslogtreecommitdiffstats
path: root/src/game-server/emotemanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game-server/emotemanager.cpp')
-rw-r--r--src/game-server/emotemanager.cpp44
1 files changed, 23 insertions, 21 deletions
diff --git a/src/game-server/emotemanager.cpp b/src/game-server/emotemanager.cpp
index 35f0aa4..c412854 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();