Example #1
0
        private async Task <LoadBuildInfo> BuildExtend(string buildId)
        {
            BuildExtendFailedResult result = new BuildExtendFailedResult();
            var roleId = LogicServer.User.role.Id;
            var build  = await BuildDataHelper.Instance.GetBuildByBuildId(buildId);

            if (build != null)
            {
                if (!build.RoleId.Equals(roleId.ToString()))
                {
                    result.Result  = GameEnum.WsResult.BuildIdNotOwnRole;
                    result.BuildId = buildId;
                    await MsgSender.Instance.BuildExtendFailed(result);

                    return(null);
                }
                var curExtendLevel = build.CurExtendLv;//当前扩建星级
                var config         = AutoData.Extension.GetForId(curExtendLevel);
                if (config == null)
                {
                    result.Result  = GameEnum.WsResult.ConfigErr;
                    result.BuildId = buildId;
                    await MsgSender.Instance.BuildExtendFailed(result);

                    return(null);
                }
                if (!BagController.Instance.CheckMoney(config.UpgradeCost.Count, config.UpgradeCost.CurrencyID))
                {
                    result.Result  = GameEnum.WsResult.NotEnoughMoney;
                    result.BuildId = buildId;
                    await MsgSender.Instance.BuildExtendFailed(result);

                    return(null);
                }
                if (build.Level < config.NeedLv)
                {
                    result.Result  = GameEnum.WsResult.NeedLevel;
                    result.BuildId = buildId;
                    await MsgSender.Instance.BuildExtendFailed(result);

                    return(null);
                }
                var info = await BuildExtend(build, config);

                return(info);
            }
            return(null);
        }
Example #2
0
        public async Task BuildExtendFailed(BuildExtendFailedResult result)
        {
            var data = await InitHelpers.GetPse().SerializeAsync(result);

            await MsgMaker.SendMessage(WSResponseMsgID.BuildExtendFailedResult, 1, data);
        }