public CheatSystemManager()
        {
            Init();

#if UNITY_EDITOR
            _currentLevel = EnumRootLevel.Max;
#else
            _currentLevel = EnumRootLevel.Player;
#endif
        }
示例#2
0
        private void CalcCommand(EnumRootLevel lv)
        {
            List <string> commandList = new List <string>();
            StringBuilder builder     = new StringBuilder();

            MethodInfo[] mths = this.GetType().GetMethods();
            for (int i = 0; i < mths.Length; i++)
            {
                CommandInfo exp = (CommandInfo)System.Attribute.GetCustomAttribute(mths[i], typeof(CommandInfo));
                if (exp != null && exp.RootLevel <= lv)
                {
                    commandList.Add(mths[i].Name);
                    //builder.Append("[" + exp.RequireLevelName + "]");
                    builder.Append(string.Format(ConstLanguage.CommandName, mths[i].Name));
                    builder.Append("(");
                    ParameterInfo[] paramsInfo = mths[i].GetParameters();
                    foreach (var item in paramsInfo)
                    {
                        builder.Append(string.Format(ConstLanguage.CommandParams, item.ParameterType.Name) + " " + item.Name);
                        if (!string.IsNullOrEmpty(item.DefaultValue.ToString()))
                        {
                            builder.Append("=");
                            builder.Append(string.Format(ConstLanguage.CommandName, item.DefaultValue));
                        }
                        builder.Append(",");
                    }
                    if (paramsInfo.Length > 0)
                    {
                        builder.Remove(builder.Length - 1, 1);
                    }
                    builder.Append(")");
                    builder.Append(":");
                    builder.AppendLine(exp.Explain);
                }
            }
            _commandList[lv]     = commandList;
            _commandDescList[lv] = builder.ToString();
        }
        /// <summary>
        /// 获取指定权限信息
        /// </summary>
        public static Passward GetRootLevelDetail(EnumRootLevel level)
        {
            Passward p = System.Attribute.GetCustomAttribute(level.GetType().GetField(level.ToString()), typeof(Passward)) as Passward;

            return(p);
        }
 public CommandInfo(string name, string str, EnumRootLevel level = EnumRootLevel.Player)
 {
     _exp       = str;
     _name      = name;
     _rootLevel = level;
 }