From 431a0b17e7eee6b27f98b74f4d073f2131a089dd Mon Sep 17 00:00:00 2001 From: David Athay Date: Wed, 5 Mar 2008 18:44:03 +0000 Subject: Fixed guild creation. --- src/player.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'src/player.cpp') diff --git a/src/player.cpp b/src/player.cpp index b8789256..2f1fc648 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -26,6 +26,7 @@ #include "animatedsprite.h" #include "game.h" #include "graphics.h" +#include "guild.h" #include "log.h" #include "resources/itemdb.h" @@ -146,3 +147,47 @@ void Player::setSprite(int slot, int id, const std::string &color) Being::setSprite(slot, id, color); } + +Guild* Player::addGuild(short guildId, bool inviteRights) +{ + Guild *guild = new Guild(guildId, inviteRights); + mGuilds.insert(std::pair(guildId, guild)); + return guild; +} + +void Player::removeGuild(int id) +{ + mGuilds.erase(id); +} + +Guild* Player::getGuild(const std::string &guildName) +{ + std::map::iterator itr, itr_end = mGuilds.end(); + for (itr = mGuilds.begin(); itr != itr_end; ++itr) + { + Guild *guild = itr->second; + if (guild->getName() == guildName) + { + return guild; + } + } + + return NULL; +} + +Guild* Player::getGuild(int id) +{ + std::map::iterator itr; + itr = mGuilds.find(id); + if (itr != mGuilds.end()) + { + return itr->second; + } + + return NULL; +} + +short Player::getNumberOfGuilds() +{ + return mGuilds.size(); +} -- cgit v1.2.3-60-g2f50