Exemple #1
0
        public bool RuleDestruction(MsgInformationEx MsgDTO, object[] param)
        {
            var key   = param[0] as string;
            var value = param[1] as string;

            string msg;

            MsgSender.PushMsg(MsgDTO, "世界树规则析构引擎正在启动,请稍候...");
            Thread.Sleep(2000);

            switch (key)
            {
            case "GroupSettings":
            {
                if (!long.TryParse(value, out var groupNum))
                {
                    msg = $"规则引擎解析错误:{groupNum}";
                    break;
                }

                var record = GroupSettings.Get(groupNum);
                if (record == null)
                {
                    msg = $"未匹配到基元数据:{groupNum}";
                    break;
                }

                msg = JsonConvert.SerializeObject(record);
                break;
            }

            case "OSPerson":
            {
                if (!long.TryParse(value, out var personNum))
                {
                    msg = $"规则引擎解析错误:{personNum}";
                    break;
                }

                var osPerson = OSPerson.GetPerson(personNum);
                if (osPerson == null)
                {
                    msg = $"未匹配到基元数据:{personNum}";
                    break;
                }

                msg = JsonConvert.SerializeObject(osPerson);
                break;
            }

            case "Pet":
            {
                if (!long.TryParse(value, out var personNum))
                {
                    msg = $"规则引擎解析错误:{personNum}";
                    break;
                }

                var pet = PetRecord.Get(personNum);
                msg = JsonConvert.SerializeObject(pet);
                break;
            }

            default:
            {
                msg = "未匹配到指定规则,请先查阅世界规则手册!";
                break;
            }
            }

            MsgSender.PushMsg(MsgDTO, msg);
            return(true);
        }