示例#1
0
        //обрабатывает результат после завершения мультиплеера
        void MultiplayerGameCompleted(MultiplayerResult gameResult)
        {
            CloseGame();
            SetState(GameState.MENU);
            MpSetMode(MpGameMode.QUIK_GAME);

            if (gameResult == MultiplayerResult.WIN)
            {
                CurrentGame.StatisticGame.NumWinsMP++;
                LeaderboardAddResultEvent?.Invoke(); //событие добавдения результата
                CheckingWinsMP();                    //проверяем сколько раз выиграли
            }

            CheckingRunMultiplayerMode();             //регестирируем очередной запуск игры в MP
        }
        //вызывается по событию окончания игры по мультиплееру
        void ShowMultiplayerResultdPanel(MultiplayerResult gameResult)
        {
            //включаем панельку результата
            SetActivMenu(ActiveMenu.MULTIPLAYER_RESULT_PANEL);

            var drawText = multiplayerCompletedPanel.transform.Find("Panel/TEXT_DRAW").gameObject;

            var data = GPGS.Instance.MultiplayerInfo;             //даные об игроках

            //информация игрока
            SetResultInfo(playerInfoMC, data.playerIcon, data.myScore, data.maxScore);
            var winText_1 = multiplayerCompletedPanel.transform.Find("Panel/TEXT_WIN_1").gameObject;

            //информация опонента
            SetResultInfo(oppInfoMC, data.opponentIcon, data.opponentScore, data.maxScore);
            var winText_2 = multiplayerCompletedPanel.transform.Find("Panel/TEXT_WIN_2").gameObject;

            switch (gameResult)
            {
            //моя победа
            case MultiplayerResult.WIN:
                drawText.SetActive(false);                         // off
                winText_1.SetActive(true);                         //on
                winText_2.SetActive(false);                        //off
                break;

            //противник выиграл
            case MultiplayerResult.LOSE:
                drawText.SetActive(false);                         //off
                winText_1.SetActive(false);                        //off
                winText_2.SetActive(true);                         //on
                break;

            //ничья
            case MultiplayerResult.DRAW:
                drawText.SetActive(true);                         //on
                winText_1.SetActive(false);                       //off
                winText_2.SetActive(false);                       //off
                break;
            }
        }