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); }
public async Task BuildExtendFailed(BuildExtendFailedResult result) { var data = await InitHelpers.GetPse().SerializeAsync(result); await MsgMaker.SendMessage(WSResponseMsgID.BuildExtendFailedResult, 1, data); }