Added hardcoded superadmin group

This commit is contained in:
Maverick Motherfucker 2011-06-03 21:39:18 -07:00
parent bb2e9559f0
commit 6f3f53f0dc
2 changed files with 38 additions and 1 deletions

View file

@ -9,6 +9,8 @@ namespace TShockAPI
{ {
private string name; private string name;
private Group parent = null; private Group parent = null;
private List<string> permissions = new List<string>();
private List<string> negatedPermissions = new List<string>();
public Group(string groupName, Group parentGroup = null) public Group(string groupName, Group parentGroup = null)
{ {
@ -16,6 +18,11 @@ namespace TShockAPI
parent = parentGroup; parent = parentGroup;
} }
public Group()
{
throw new System.Exception("Called Group constructor with no parameters");
}
public string GetName() public string GetName()
{ {
return name; return name;
@ -28,7 +35,35 @@ namespace TShockAPI
public bool HasPermission(string permission) public bool HasPermission(string permission)
{ {
//TODO: implement this if (negatedPermissions.Contains(permission))
{
return false;
}
else if (permissions.Contains(permission))
{
return true;
}
else if (parent != null)
{
//inception
return parent.HasPermission(permission);
}
return false;
}
}
public class SuperAdminGroup : Group
{
public SuperAdminGroup(string groupName, Group parentGroup = null) : base(groupName, parentGroup)
{
}
public SuperAdminGroup() : base()
{
}
new public bool HasPermission(string permission)
{
return true; return true;
} }
} }

View file

@ -321,6 +321,8 @@ namespace TShockAPI
private static void LoadGroups() private static void LoadGroups()
{ {
groups = new List<Group>();
groups.Add(new SuperAdminGroup("superadmin"));
} }
/// <summary> /// <summary>