diff options
author | Erik Schilling <ablu.erikschilling@googlemail.com> | 2013-04-06 21:36:50 +0200 |
---|---|---|
committer | Erik Schilling <ablu.erikschilling@googlemail.com> | 2013-04-11 13:43:00 +0200 |
commit | aa04597c5f8bb806996d604699fc8ebff6d53bdd (patch) | |
tree | 20e6a79a873605b62c80011fd5c80351f60df6fb /src/common | |
parent | d95fccfca8575d8fb06988e558a338e37776961a (diff) | |
download | manaserv-aa04597c5f8bb806996d604699fc8ebff6d53bdd.tar.gz manaserv-aa04597c5f8bb806996d604699fc8ebff6d53bdd.tar.xz manaserv-aa04597c5f8bb806996d604699fc8ebff6d53bdd.zip |
Converted the Character class into a component
A CharacterData was created as a proxy class in order to allow using the
old serialization method.
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/permissionmanager.cpp | 15 | ||||
-rw-r--r-- | src/common/permissionmanager.h | 8 |
2 files changed, 13 insertions, 10 deletions
diff --git a/src/common/permissionmanager.cpp b/src/common/permissionmanager.cpp index 5510fd7..ee970bd 100644 --- a/src/common/permissionmanager.cpp +++ b/src/common/permissionmanager.cpp @@ -105,9 +105,10 @@ void PermissionManager::reload() } -PermissionManager::Result PermissionManager::checkPermission(const Character* character, std::string permission) +PermissionManager::Result PermissionManager::checkPermission(const Being* character, std::string permission) { - return checkPermission(character->getAccountLevel(), permission); + return checkPermission(character->getComponent<CharacterComponent>() + ->getAccountLevel(), permission); } PermissionManager::Result PermissionManager::checkPermission(unsigned char level, std::string permission) @@ -139,12 +140,13 @@ unsigned char PermissionManager::getMaskFromAlias(const std::string &alias) } } -std::list<std::string> PermissionManager::getPermissionList(const Character* character) +std::list<std::string> PermissionManager::getPermissionList(const Being* character) { std::list<std::string> result; std::map<std::string, unsigned char>::iterator i; - unsigned char mask = character->getAccountLevel(); + unsigned char mask = character->getComponent<CharacterComponent>() + ->getAccountLevel(); for (i = permissions.begin(); i != permissions.end(); i++) { @@ -157,12 +159,13 @@ std::list<std::string> PermissionManager::getPermissionList(const Character* cha return result; } -std::list<std::string> PermissionManager::getClassList(const Character* character) +std::list<std::string> PermissionManager::getClassList(const Being* character) { std::list<std::string> result; std::map<std::string, unsigned char>::iterator i; - unsigned char mask = character->getAccountLevel(); + unsigned char mask = character->getComponent<CharacterComponent>() + ->getAccountLevel(); for (i = aliases.begin(); i != aliases.end(); i++) { diff --git a/src/common/permissionmanager.h b/src/common/permissionmanager.h index bf36f65..a78f581 100644 --- a/src/common/permissionmanager.h +++ b/src/common/permissionmanager.h @@ -25,7 +25,7 @@ #include <map> #include <string> -class Character; +class Being; namespace PermissionManager { @@ -48,7 +48,7 @@ namespace PermissionManager /** * Returns if the characters account has the given permission */ - Result checkPermission(const Character* character, std::string permission); + Result checkPermission(const Being* character, std::string permission); Result checkPermission(unsigned char level, std::string permission); /** @@ -59,12 +59,12 @@ namespace PermissionManager /** * Gets a list of all permissions the character is having */ - std::list<std::string> getPermissionList(const Character* character); + std::list<std::string> getPermissionList(const Being* character); /** * Gets a list of all permissions classes the character is having */ - std::list<std::string> getClassList(const Character* character); + std::list<std::string> getClassList(const Being* character); } // namespace PermissionManager |