diff options
author | David Athay <ko2fan@gmail.com> | 2008-03-06 15:13:14 +0000 |
---|---|---|
committer | David Athay <ko2fan@gmail.com> | 2008-03-06 15:13:14 +0000 |
commit | 13a48effdbd44a3811f9bcbb0115776ec46c3dfa (patch) | |
tree | 40b1bd63460cea01ecaad68e2f1f39b1358fa832 /src/chat-server/guildmanager.cpp | |
parent | a65b4bd0a8e45895cc180fb5882734a87d55beeb (diff) | |
download | manaserv-13a48effdbd44a3811f9bcbb0115776ec46c3dfa.tar.gz manaserv-13a48effdbd44a3811f9bcbb0115776ec46c3dfa.tar.xz manaserv-13a48effdbd44a3811f9bcbb0115776ec46c3dfa.zip |
Fixed telling clients what guilds they are in after they reconnect
Diffstat (limited to 'src/chat-server/guildmanager.cpp')
-rw-r--r-- | src/chat-server/guildmanager.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/chat-server/guildmanager.cpp b/src/chat-server/guildmanager.cpp index 2c669e2..12965f1 100644 --- a/src/chat-server/guildmanager.cpp +++ b/src/chat-server/guildmanager.cpp @@ -122,3 +122,29 @@ bool GuildManager::doesExist(const std::string &name) { return findByName(name) != NULL; } + +std::vector<Guild*> GuildManager::getGuilds(const std::string &name) +{ + Guild *guild; + std::vector<Guild*> guildList; + + // Iterate through all guilds, get the number of members + // Check if any of the members match the specified name + // Add the guild to the list if they match, and return + // the list of all guilds the user with that name belongs to + for (std::list<Guild*>::iterator itr = mGuilds.begin(), + itr_end = mGuilds.end(); + itr != itr_end; ++itr) + { + guild = (*itr); + for (int i = 0; i < guild->totalMembers(); ++i) + { + if (guild->getMember(i) == name) + { + guildList.push_back(guild); + break; + } + } + } + return guildList; +} |