/// <summary> /// 胜利后请求结算,失败不需要 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void EndBattle(object sender, GameEventArgs e) { EndBattleEventArgs ne = e as EndBattleEventArgs; GameEntry.UI.CloseUIForm(UIFormId.PlayerCtrlForm); GameEntry.UI.RmvAllHpItemInfo(); if (ne.IsWin) { double endTime = GameEntry.Timer.GetNowTime(); //发送结算战斗请求 //TODO CSPacketBase msg = new ReqFBFightEnd { Win = ne.IsWin, Fbid = m_Fbid, Resthp = ne.RestHP, Costtime = (int)(endTime - m_StartTime) }; GameEntry.Net.SendMsg(msg); } else { SetBattleEndWndState(FBEndType.Lose); } }
/// <summary> /// 包括输赢两种情况 /// </summary> /// <param name="isWin"></param> /// <param name="restHP"></param> public void EndBattle(bool isWin, int restHP) { IsPauseGame = true; GameEntry.Sound.StopMusic(); EndBattleEventArgs eventArgs = ReferencePool.Acquire <EndBattleEventArgs>(); eventArgs.Fill(isWin, restHP); GameEntry.Event.Fire(this, eventArgs); }