コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: LogicServer.cs プロジェクト: chenhongyi/Server
        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));
        }