示例#1
0
        void OnAsteroidHit(Collision collision)
        {
            if (collision.gameObject.tag.Equals(GameTags.Projectile))
            {
                m_Score++;
                m_GamePlayUI.SetScore(m_Score);
            }

            if (collision.gameObject.tag.Equals(GameTags.Player))
            {
                m_Lives--;
                m_GamePlayUI.SetLivesCount(k_TotalLives, m_Lives);
                if (m_Lives <= 0)
                {
                    Time.timeScale = 0;
                    m_GamePlayUI.ShowGameOverScreen();
                }
            }
        }
示例#2
0
        void ProcessGameOver()
        {
            HandleGameScore();
            m_GamePlayUI.ShowGameOverScreen();
            m_GamePlayUI.OnGameOver(m_Score, highScore);

            GameServices.Get <EnemySpawnerManager>().DestroyAllEnemies();
            GameServices.Get <PlayerManager>().DestroyPlayer();
            ///   AsteroidSpawner.instance.DestroyAllAsteroids();
            /// GameServices.Get<HealthBarManager>().ClearAllHealthBars();
            // HealthBarController.instance.ClearAllHealthBars();
            //foreach (var item in GameObjectsPool.allPoolledObjects)
            //{

            //    if (item.isActiveAndEnabled) { item.Release(); }
            //}

            Time.timeScale = 0f;
            m_Score        = 0;
            //m_GamePlayUI.SetHighScore(m_Score);
            //m_GamePlayUI.SetCurrentScore(m_Score);
        }