/// <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);
        }
    }
Ejemplo n.º 2
0
    /// <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);
    }