コード例 #1
0
ファイル: Utilities.cs プロジェクト: mldYM/IW4M-Admin
        /// <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()}");
        }
コード例 #2
0
 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];
 }
コード例 #3
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));
        }
コード例 #4
0
 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;
 }
コード例 #5
0
ファイル: Utilities.cs プロジェクト: mldYM/IW4M-Admin
        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);
        }
コード例 #6
0
ファイル: Utilities.cs プロジェクト: mldYM/IW4M-Admin
 public static string ToLocalizedLevelName(this EFClient.Permission perm)
 {
     return(CurrentLocalization.LocalizationIndex[$"GLOBAL_PERMISSION_{perm.ToString().ToUpper()}"]);
 }
コード例 #7
0
        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);
        }