summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Athay <ko2fan@gmail.com>2008-05-23 14:05:38 +0000
committerDavid Athay <ko2fan@gmail.com>2008-05-23 14:05:38 +0000
commit8d90d6d742766ef7af2aedc36c4b434c1cc61fda (patch)
tree4001ebb6a0809b7b5dd9bb2791e903abcbbb338d
parent45f0e8a6c867eb7548b4680a727e8b3cdd23f012 (diff)
downloadmanaserv-8d90d6d742766ef7af2aedc36c4b434c1cc61fda.tar.gz
manaserv-8d90d6d742766ef7af2aedc36c4b434c1cc61fda.tar.bz2
manaserv-8d90d6d742766ef7af2aedc36c4b434c1cc61fda.tar.xz
manaserv-8d90d6d742766ef7af2aedc36c4b434c1cc61fda.zip
Use guildmanager to add users to guilds so its stored in the db.
-rw-r--r--ChangeLog6
-rw-r--r--src/chat-server/chathandler.cpp4
-rw-r--r--src/chat-server/guildmanager.cpp17
-rw-r--r--src/chat-server/guildmanager.hpp6
4 files changed, 18 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 66cf172b..5b9068eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-05-23 David Athay <ko2fan@gmail.com>
+
+ * src/chat-server/guildmanager.cpp,
+ src/chat-server/guildmanager.hpp, src/chat-server/chathandler.cpp:
+ Use guildmanager to add users to guilds so its stored in the db.
+
2008-05-22 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/being.hpp, src/game-server/collisiondetection.cpp,
diff --git a/src/chat-server/chathandler.cpp b/src/chat-server/chathandler.cpp
index d56f2b87..7218cb9d 100644
--- a/src/chat-server/chathandler.cpp
+++ b/src/chat-server/chathandler.cpp
@@ -655,7 +655,7 @@ ChatHandler::handleGuildAcceptInvite(ChatClient &client, MessageIn &msg)
{
if (guild->checkInvited(client.characterName))
{
- guild->addMember(client.characterName);
+ guildManager->addGuildMember(guild, client.characterName);
reply.writeByte(ERRMSG_OK);
reply.writeString(guild->getName());
reply.writeShort(guild->getId());
@@ -730,7 +730,7 @@ ChatHandler::handleGuildQuit(ChatClient &client, MessageIn &msg)
chatChannelManager->removeChannel(chatChannelManager->getChannelId(guild->getName()));
}
- guildManager->removeGuildMember(guildId, client.characterName);
+ guildManager->removeGuildMember(guild, client.characterName);
}
else
{
diff --git a/src/chat-server/guildmanager.cpp b/src/chat-server/guildmanager.cpp
index 18d888ca..a87df1ce 100644
--- a/src/chat-server/guildmanager.cpp
+++ b/src/chat-server/guildmanager.cpp
@@ -49,14 +49,13 @@ Guild* GuildManager::createGuild(const std::string &name, const std::string &pla
// Make sure to add guild to mGuilds before searching for it to add the
// player
mGuilds.push_back(guild);
- addGuildMember(guild->getId(), playerName);
+ addGuildMember(guild, playerName);
return guild;
}
-void GuildManager::removeGuild(short guildId)
+void GuildManager::removeGuild(Guild *guild)
{
- Guild *guild = findById(guildId);
if (!guild)
return;
storage->removeGuild(guild);
@@ -64,25 +63,23 @@ void GuildManager::removeGuild(short guildId)
delete guild;
}
-void GuildManager::addGuildMember(short guildId, const std::string &playerName)
+void GuildManager::addGuildMember(Guild *guild, const std::string &playerName)
{
- Guild *guild = findById(guildId);
if (!guild)
return;
- storage->addGuildMember(guildId, playerName);
+ storage->addGuildMember(guild->getId(), playerName);
guild->addMember(playerName);
}
-void GuildManager::removeGuildMember(short guildId, const std::string &playerName)
+void GuildManager::removeGuildMember(Guild *guild, const std::string &playerName)
{
- Guild *guild = findById(guildId);
if (!guild)
return;
- storage->removeGuildMember(guildId, playerName);
+ storage->removeGuildMember(guild->getId(), playerName);
guild->removeMember(playerName);
if(guild->totalMembers() == 0)
{
- removeGuild(guildId);
+ removeGuild(guild);
}
}
diff --git a/src/chat-server/guildmanager.hpp b/src/chat-server/guildmanager.hpp
index 96f324b0..d28d5648 100644
--- a/src/chat-server/guildmanager.hpp
+++ b/src/chat-server/guildmanager.hpp
@@ -52,17 +52,17 @@ class GuildManager
/**
* Removes a guild.
*/
- void removeGuild(short guildId);
+ void removeGuild(Guild *guild);
/**
* Adds a member to a guild.
*/
- void addGuildMember(short guildId, const std::string &playerName);
+ void addGuildMember(Guild *guild, const std::string &playerName);
/**
* Removes a member from a guild.
*/
- void removeGuildMember(short guildId, const std::string &playerName);
+ void removeGuildMember(Guild *guild, const std::string &playerName);
/**
* Returns the guild with the given id. O(n)