Beispiel #1
0
        /// <summary>
        /// Действия в случае проигрыша
        /// </summary>
        private void PerformOnLose()
        {
            DestroySessionData();

            _gameOverComponent =
                ActualLinkedObjectPoolSupportData.LinkedPoolManager.GetObject <GameOverScreenComponent>(
                    typeof(GameOverScreenComponent)).Init(ParentGameObject);

            _gameOverComponent.OnScreenConfirmed += EndGameSession;
        }
Beispiel #2
0
        /// <summary>
        /// Полное завершение игровой сессии для последующего перехода обратно в главное меню
        /// </summary>
        private void EndGameSession()
        {
            if (_gameOverComponent != null)
            {
                _gameOverComponent.OnScreenConfirmed -= EndGameSession;
                _gameOverComponent.DisableAndSendToPool();
                _gameOverComponent = null;
            }

            //same disposal for the results screen
            DestroyResultsScreen();


            OnGameSessionEnd?.Invoke();
        }