/// <summary> /// Get the IW Engine color code corresponding to an admin level /// </summary> /// <param name="level">Specified player level</param> /// <returns></returns> public static String ConvertLevelToColor(EFClient.Permission level, string localizedLevel) { char colorCode = '6'; // todo: maybe make this game independant? switch (level) { case EFClient.Permission.Banned: colorCode = '1'; break; case EFClient.Permission.Flagged: colorCode = '9'; break; case EFClient.Permission.Owner: colorCode = '5'; break; case EFClient.Permission.User: colorCode = '2'; break; case EFClient.Permission.Trusted: colorCode = '3'; break; default: break; } return($"^{colorCode}{localizedLevel ?? level.ToString()}"); }
public Command(String commandName, String commandDescription, String commandAlias, EFClient.Permission requiredPermission, bool requiresTarget, CommandArgument[] param = null) { Name = commandName; Description = commandDescription; Alias = commandAlias; Permission = requiredPermission; RequiresTarget = requiresTarget; Arguments = param ?? new CommandArgument[0]; }
public static string ClanTag(this EFClient.Permission level, Configuration Config) { string rankName; switch ((int)level) { case -1: rankName = "Banned"; //this typically won't be seen. break; case 0: rankName = Config.User; break; case 1: rankName = Config.User; //1 = flagged, but don't want to show this in game. break; case 2: rankName = Config.Trusted; break; case 3: rankName = Config.Moderator; break; case 4: rankName = Config.Admin; break; case 5: rankName = Config.SeniorAdmin; break; case 6: rankName = Config.Owner; break; case 7: rankName = Config.Creator; break; case 8: rankName = Config.Console; break; default: rankName = Config.User; break; } return(rankName.Truncate(8)); }
public ScriptCommand(string name, string alias, string description, bool isTargetRequired, EFClient.Permission permission, CommandArgument[] args, Action <GameEvent> executeAction, CommandConfiguration config, ITranslationLookup layout, ILogger <ScriptCommand> logger) : base(config, layout) { _executeAction = executeAction; _logger = logger; Name = name; Alias = alias; Description = description; RequiresTarget = isTargetRequired; Permission = permission; Arguments = args; }
public static EFClient.Permission MatchPermission(String str) { String lookingFor = str.ToLower(); for (EFClient.Permission Perm = EFClient.Permission.User; Perm < EFClient.Permission.Console; Perm++) { if (lookingFor.Contains(Perm.ToString().ToLower()) || lookingFor.Contains(CurrentLocalization.LocalizationIndex[$"GLOBAL_PERMISSION_{Perm.ToString().ToUpper()}"].ToLower())) { return(Perm); } } return(EFClient.Permission.Banned); }
public static string ToLocalizedLevelName(this EFClient.Permission perm) { return(CurrentLocalization.LocalizationIndex[$"GLOBAL_PERMISSION_{perm.ToString().ToUpper()}"]); }
public static async Task <IEnumerable <IClientMeta> > GetClientMeta(IMetaService metaService, MetaType?metaType, EFClient.Permission level, ClientPaginationRequest request) { IEnumerable <IClientMeta> meta = null; if (metaType == null) // all types { meta = await metaService.GetRuntimeMeta(request); } else { switch (metaType) { case MetaType.Information: meta = await metaService.GetRuntimeMeta <InformationResponse>(request, metaType.Value); break; case MetaType.AliasUpdate: meta = await metaService.GetRuntimeMeta <UpdatedAliasResponse>(request, metaType.Value); break; case MetaType.ChatMessage: meta = await metaService.GetRuntimeMeta <MessageResponse>(request, metaType.Value); break; case MetaType.Penalized: meta = await metaService.GetRuntimeMeta <AdministeredPenaltyResponse>(request, metaType.Value); break; case MetaType.ReceivedPenalty: meta = await metaService.GetRuntimeMeta <ReceivedPenaltyResponse>(request, metaType.Value); break; default: break; } } if (level < EFClient.Permission.Trusted) { meta = meta.Where(_meta => !_meta.IsSensitive); } return(meta); }