public async Task <DepartmentUpdateResult> DepartmentLvUp(DepartmentUpdateResult result, GameEnum.DepartMentType type) { var role = LogicServer.User.role; var depart = await DepartmentGroupDataHelper.Instance.GetDepartMentGroupByRoleId(role.Id); var bg = LogicServer.User.bag; if (depart == null) { result.Result = GameEnum.WsResult.DepartmentInvalid; return(result); } if (!CheckDepartmentLvUp(role.Id, type, ref depart)) { result.Result = GameEnum.WsResult.DepartmentLvUpFailed; return(result); } int departId = 100000; switch (type) { case GameEnum.DepartMentType.Finance: departId += depart.Finance.Level + 1 + 30000; break; case GameEnum.DepartMentType.Personnel: departId += depart.Personnel.Level + 1; break; case GameEnum.DepartMentType.Market: departId += depart.Market.Level + 1 + 20000; break; case GameEnum.DepartMentType.Investment: departId += depart.Investment.Level + 1 + 10000; break; } result = await DepartmentLvUp(role.Id, departId, type); if (result == null) { result.Result = GameEnum.WsResult.DepartmentLvUpFailed; return(result); } return(result); }
private async Task <DepartmentUpdateResult> DepartmentLvUp(Guid roleId, int departId, GameEnum.DepartMentType type) { DepartmentUpdateResult result = new DepartmentUpdateResult(); var config = DepartmentInfo.GetForId(departId); var depart = await DepartmentGroupDataHelper.Instance.GetDepartMentGroupByRoleId(roleId); var level = 0; if (config == null) { result.Result = GameEnum.WsResult.ConfigErr; return(result); } if (depart == null) { result.Result = GameEnum.WsResult.DepartmentInvalid; return(result); } switch (type) { case GameEnum.DepartMentType.Finance: level = depart.Finance.Level = depart.Finance.Level + 1; break; case GameEnum.DepartMentType.Personnel: level = depart.Personnel.Level = depart.Personnel.Level + 1; break; case GameEnum.DepartMentType.Market: level = depart.Market.Level = depart.Market.Level + 1; break; case GameEnum.DepartMentType.Investment: level = depart.Investment.Level = depart.Investment.Level + 1; break; } await DepartmentController.Instance.DepartmentLvUp(depart, departId); result.Level = level; result.Type = (int)type; return(result); }
private static async Task <BaseResponseData> DepartmentLvUp() { DepartmentUpdateResult result = new DepartmentUpdateResult(); if (User.bytes == null) { result.Result = GameEnum.WsResult.ParamsError; return(result); } var data = await InitHelpers.GetPse().DeserializeAsync <DepartmentUpdateReq>(User.bytes); if (data == null) { result.Result = GameEnum.WsResult.ParamsError; return(result); } var type = (GameEnum.DepartMentType)data.Type; return(await DepartmentController.Instance.DepartmentLvUp(result, type)); }