public string GetTargetCommandHelp(string cmdName)
        {
            CheatItem item = _cheatItems.Find((i) => i.GetType().Name == cmdName);

            if (item == null)
            {
                return("<color=#FF00FF>错误:未找到指定命令 [" + cmdName + "]</color>");
            }

            CommandInfo expl = (CommandInfo)System.Attribute.GetCustomAttribute(item.GetType(), typeof(CommandInfo));

            return(item.GetType().Name + ">>>>>" + expl.Explain + "\n\n" + item.GetCommandList());
        }
        public string RunCommand(string command)
        {
            if (string.IsNullOrEmpty(command))
            {
                return("<color=#FF00FF>错误:命令为空!</color>");
            }
            //if (command == "Help")
            //    return GetCommandList();
            command = command.Trim();
            string[]  cmds = command.Split(' ');
            CheatItem item = _cheatItems.Find((i) => i.GetType().Name == cmds[0]);

            if (item == null)
            {
                return("<color=#FF00FF>错误:未找到命令 [" + cmds[0] + "]</color>\n有关命令帮助,请输入“Help”查看.");
            }

            if (cmds.Length < 2)
            {
                #region 处理只有一个单位的命令
                MethodInfo met = item.GetType().GetMethod("SingleMethod");
                if (met != null)
                {
                    try
                    {
                        met.Invoke(item, null);
                        return("");
                    }
                    catch (Exception ex)
                    {
                        return("<color=#FF00FF>错误:" + ex.Message + "</color>");
                    }
                }
                #endregion

                return("<color=#FF00FF>错误:该命令需要至少一个参数。</color>\n" + cmds[0] + "可用参数有:\n" + item.GetCommandList());
            }

            string name = cmds[1];

            object[] parms = new object[cmds.Length - 2];

            if (cmds.Length > 2)
            {
                for (int i = 2; i < cmds.Length; i++)
                {
                    parms[i - 2] = cmds[i];
                }
            }

            try
            {
                MethodInfo  met  = item.GetType().GetMethod(name);
                CommandInfo info = GetCommandInfo(met);
                if (!info.CanExecute)
                {
                    return("<color=#FF00FF>权限不足:该命令要求至少为 " + info.LevelName + " 权限</color>");
                }

                object res     = met.Invoke(item, parms);
                string resInfo = res == null ? "成功" : res.ToString();
                return("执行结果:" + resInfo);
            }
            catch (Exception ex)
            {
                return("<color=#FF00FF>错误:" + ex.Message + "</color>");
            }
        }