コード例 #1
0
ファイル: GameManager.cs プロジェクト: tuita520/Mech-Storm
    public void OnEndGame(BattlePlayer winner)
    {
        if (IsStopped)
        {
            return;
        }
        winner.BattleStatistics.FinalHealth      = winner.LifeLeft;
        winner.BattleStatistics.FinalHealthRatio = (float)winner.LifeLeft / winner.LifeMax;
        OnEndGameHandler?.Invoke(winner.ClientId, ClientA.MyPlayer.BattleStatistics, ClientB.MyPlayer.BattleStatistics);
        GameStopByWinRequest request = new GameStopByWinRequest(winner.ClientId, winner.BattleStatistics);

        Broadcast_AddRequestToOperationResponse(request);
        IsStopped = true;
    }
コード例 #2
0
    public void OnGameStopByWin(GameStopByWinRequest r)
    {
        BattleResultPanel brp = UIManager.Instance.ShowUIForms <BattleResultPanel>();

        DragManager.Instance.ResetCurrentDrag();
        DragManager.Instance.ForbidDrag = true;
        BattleManager.Instance.SelfBattlePlayer.HandManager.RefreshCardsPlace();
        BattleManager.Instance.EnemyBattlePlayer.HandManager.RefreshCardsPlace();
        brp.BattleStatistics = r.BattleStatistics;
        brp.SetCrystalInfo();
        UIManager.Instance.ShowUIForms <ExitMenuPanel>().SetSurrenderButtonShow(false);
        UIManager.Instance.CloseUIForm <ExitMenuPanel>();
        if (r.WinnerClientId == Client.Instance.Proxy.ClientID)
        {
            ClientLog.Instance.PrintClientStates("你赢了");
            brp.WinGame();
        }
        else
        {
            ClientLog.Instance.PrintReceive("你输了");
            brp.LostGame();
        }
    }