diff options
Diffstat (limited to 'src/account.cpp')
-rw-r--r-- | src/account.cpp | 62 |
1 files changed, 20 insertions, 42 deletions
diff --git a/src/account.cpp b/src/account.cpp index b5a7903b..11a1232a 100644 --- a/src/account.cpp +++ b/src/account.cpp @@ -24,10 +24,6 @@ #include "utils/functors.h" -namespace tmwserv -{ - - /** * Constructor with initial account info. */ @@ -50,7 +46,7 @@ Account::Account(const std::string& name, Account::Account(const std::string& name, const std::string& password, const std::string& email, - const Beings& characters) + const Players& characters) : mName(name), mPassword(password), mEmail(email), @@ -64,8 +60,7 @@ Account::Account(const std::string& name, /** * Destructor. */ -Account::~Account(void) - throw() +Account::~Account() { // mCharacters is a list of smart pointers which will take care about // deallocating the memory so nothing to deallocate here :) @@ -157,7 +152,7 @@ Account::getLevel(void) const * Set the characters. */ void -Account::setCharacters(const Beings& characters) +Account::setCharacters(const Players& characters) { mCharacters = characters; } @@ -167,7 +162,7 @@ Account::setCharacters(const Beings& characters) * Add a new character. */ void -Account::addCharacter(BeingPtr character) +Account::addCharacter(PlayerPtr character) { if (character.get() != 0) { mCharacters.push_back(character); @@ -177,32 +172,23 @@ Account::addCharacter(BeingPtr character) /** * Remove a character. */ -bool -Account::delCharacter(std::string name) +bool Account::delCharacter(std::string const &name) { - Beings::iterator it = - std::find_if(mCharacters.begin(), - mCharacters.end(), - std::bind2nd(obj_name_is<BeingPtr>(), name) - ); + Players::iterator + end = mCharacters.end(), + it = std::find_if(mCharacters.begin(), end, + std::bind2nd(obj_name_is<PlayerPtr>(), name)); - if (it != mCharacters.end()) { - // Exists, delete it. - mCharacters.erase(it++); - return true; - } - else - { - return false; - } + if (it == end) return false; + mCharacters.erase(it); + return true; } /** * Get all the characters. */ -Beings& -Account::getCharacters(void) +Players &Account::getCharacters() { return mCharacters; } @@ -211,21 +197,13 @@ Account::getCharacters(void) /** * Get a character by name. */ -Being* -Account::getCharacter(const std::string& name) +PlayerPtr Account::getCharacter(const std::string& name) { - Beings::iterator it = - std::find_if(mCharacters.begin(), - mCharacters.end(), - std::bind2nd(obj_name_is<BeingPtr>(), name) - ); + Players::iterator + end = mCharacters.end(), + it = std::find_if(mCharacters.begin(), end, + std::bind2nd(obj_name_is<PlayerPtr>(), name)); - if (it != mCharacters.end()) { - return (*it).get(); - } - - return 0; + if (it != end) return *it; + return PlayerPtr(); } - - -} // namespace tmwserv |