public void ReqDungeonFight(MsgPack pack) { ReqDungeonFight data = pack.msg.reqDungeonFight; GameMsg msg = new GameMsg { cmd = (int)CMD.RspDungeonFight }; PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.session); int power = cfgSvc.GetMapCfg(data.dungeonId).power; if (pd.dungeon < data.dungeonId) // 关卡进度是否合法 { msg.err = (int)ErrorCode.ClientDataError; } else if (pd.power < power) { msg.err = (int)ErrorCode.LackPower; } else { pd.power -= power; if (cacheSvc.UpdatePlayerData(pd.id, pd)) { RspDungeonFight rspDungeonFight = new RspDungeonFight { dungeonId = data.dungeonId, power = pd.power }; msg.rspDungeonFight = rspDungeonFight; } else { msg.err = (int)ErrorCode.UpdateDBError; } } pack.session.SendMsg(msg); }
/// <summary> /// 进入副本后的体力变化 /// </summary> /// <param name="data"></param> public void SetPlayerDataByDungeonStart(RspDungeonFight data) { PlayerData.power = data.power; }