public static List <Permission> GetPermissions(this IRocketPermissionsProvider rocketPermissionProvider, IRocketPlayer player, string permission) { return(rocketPermissionProvider.GetPermissions(player, new List <string>() { permission })); }
public static List <Permission> GetPermissions(this IRocketPermissionsProvider rocketPermissionProvider, IRocketPlayer player, IRocketCommand command) { List <string> commandPermissions = command.Permissions; commandPermissions.Add(command.Name); commandPermissions.AddRange(command.Aliases); commandPermissions = commandPermissions.Select(a => a.ToLower()).ToList(); return(rocketPermissionProvider.GetPermissions(player, commandPermissions)); }
public bool CheckPlayerPermissionsOverrides(ulong player, string Permission, out bool Allowed) { if (UnderlyingProvider != null) { UnturnedPlayer pl = UnturnedPlayer.FromCSteamID(new Steamworks.CSteamID(player)); if (pl == null) { Allowed = false; return(false); } Dictionary <string, KeyValuePair <int, bool> > Modifiers = new Dictionary <string, KeyValuePair <int, bool> >(StringComparer.InvariantCultureIgnoreCase); foreach (var permission in UnderlyingProvider.GetPermissions(pl).Where(x => x.Name.StartsWith("SherbetPermissionsModifier.Mod.", StringComparison.InvariantCultureIgnoreCase))) { string perm = permission.Name.Remove(0, "SherbetPermissionsModifier.Mod.".Length); List <string> prts = perm.Split('.').ToList(); if (prts.Count >= 3) { Console.WriteLine("has cn"); string Mode = prts[0]; string weightstr = prts[1]; prts.RemoveAt(0); prts.RemoveAt(0); string permval = string.Join(".", prts); if (!string.Equals(permval, Permission, StringComparison.InvariantCultureIgnoreCase)) { continue; } bool all = false; bool valid = false; if (string.Equals(Mode, "Deny", StringComparison.InvariantCultureIgnoreCase)) { valid = true; all = false; } else if (string.Equals(Mode, "Grant", StringComparison.InvariantCultureIgnoreCase)) { valid = true; all = true; } if (int.TryParse(weightstr, out int weight) && valid) { if (Modifiers.ContainsKey(permval)) { if (Modifiers[permval].Key < weight) { Modifiers[permval] = new KeyValuePair <int, bool>(weight, all); } } else { Modifiers.Add(permval, new KeyValuePair <int, bool>(weight, all)); } } } } if (Modifiers.ContainsKey(Permission)) { Allowed = Modifiers[Permission].Value; return(true); } else { Allowed = false; return(false); } } else { Allowed = false; return(false); } }
public List <Rocket.API.Serialisation.Permission> GetPermissions(IRocketPlayer player) { return(_defaultProvider.GetPermissions(player)); }
public List <Rocket.API.Serialisation.Permission> GetPermissions(IRocketPlayer player) { return(_defaultProvider.GetPermissions(player) .Where(p => !p.Name.StartsWith("!")) .ToList()); }
public List <Permission> GetPermissions(IRocketPlayer player) => _basePermissionProvider.GetPermissions(player);
public List <Permission> GetPermissions(IRocketPlayer player) { return(Underlying.GetPermissions(player)); }