public void RequestBattleEnd(MsgPack msgPack) { RequestBattleEnd data = msgPack.Msg.RequestBattleEnd; NetMsg netMsg = new NetMsg { cmd = (int)Command.ResponseBattleEnd }; //校验战斗是否合法 if (data.IsWin) { if (data.CostTime > 0 && data.RestHp > 0) { //获取战斗副本相应的奖励 MapCfg mapCfg = _resCfgSvc.GetMapData(data.BattleId); PlayerData playerData = _cacheSvc.GetPlayerDataBySession(msgPack.Session); TaskSys.Instance.CalcTaskPrangs(playerData, 2); playerData.Coin += mapCfg.Coin; playerData.Crystal += mapCfg.Crystal; PeRoot.CalcExp(playerData, mapCfg.Exp); if (playerData.Battle == data.BattleId) { playerData.Battle += 1; } if (!_cacheSvc.UpdatePlayerData(playerData.Id, playerData)) { netMsg.err = (int)ErrorCode.UpdateDbError; } else { ResponseBattleEnd battleEnd = new ResponseBattleEnd { IsWin = data.IsWin, Battle = data.BattleId, CostTime = data.CostTime, RestHp = data.RestHp, Coin = playerData.Coin, Level = playerData.Level, Exp = playerData.Exp, Crystal = playerData.Crystal, BattleId = playerData.Battle, }; netMsg.ResponseBattleEnd = battleEnd; } } } else { netMsg.err = (int)ErrorCode.ClientDataError; } msgPack.Session.SendMsg(netMsg); }
public IEnumerator RequestBattleEnd(List <int> character_ids, List <int> die_ids, int star) { var url = "battle/battle_end"; WWWForm form = new WWWForm(); form.AddField("character_ids", ImplodeList <int>(character_ids)); form.AddField("die_ids", ImplodeList <int>(die_ids)); form.AddField("star", star); HttpClient client = new HttpClient(); yield return(App.Util.SceneManager.CurrentScene.StartCoroutine(client.Send(url, form))); ResponseBattleEnd response = client.Deserialize <ResponseBattleEnd>(); this.battleRewards = response.battle_rewards; App.Util.LSharp.LSharpScript.Instance.UpdateBattleList(); }