summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorErik Schilling <ablu.erikschilling@googlemail.com>2013-04-06 21:36:50 +0200
committerErik Schilling <ablu.erikschilling@googlemail.com>2013-04-11 13:43:00 +0200
commitaa04597c5f8bb806996d604699fc8ebff6d53bdd (patch)
tree20e6a79a873605b62c80011fd5c80351f60df6fb /src/common
parentd95fccfca8575d8fb06988e558a338e37776961a (diff)
downloadmanaserv-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.cpp15
-rw-r--r--src/common/permissionmanager.h8
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