private void OnHealthChanged(int health, GameEntityTag damagerEntityTag)
 {
     if (health == 0)
     {
         _gameSignals.GameEntityDespawnedSignal.Fire(gameObject, gameEntityTagComponent.GameEntityTag, damagerEntityTag);
     }
 }
Beispiel #2
0
        public void DespawnEnemy(EnemyComponent enemyComponent, GameEntityTag despawner)
        {
            spawnedEnemies.Remove(enemyComponent);

            _gameSignals.EnemyDespawnedSignal.Fire(enemyComponent, despawner);
            _multiplePrefabMemoryPool.DespawnObject(enemyComponent.gameObject);
        }
Beispiel #3
0
 private void HandleAsteroidDespawned(AsteroidComponent asteroidComponent, GameEntityTag despawner)
 {
     if (_transformList.Contains(asteroidComponent.transform))
     {
         _transformList.Remove(asteroidComponent.transform);
     }
 }
 private void HandleGameEntityDespawned(GameObject go, GameEntityTag gameEntityTag, GameEntityTag despawner)
 {
     if (gameEntityTag != GameEntityTag.BULLET && gameEntityTag != GameEntityTag.ENEMY_BULLET)
     {
         return;
     }
     DespawnBullet(go.GetComponent <BulletComponent>());
 }
Beispiel #5
0
 private void HandleGameEntityDespawned(GameObject go, GameEntityTag gameEntityTag, GameEntityTag despawner)
 {
     if (gameEntityTag != GameEntityTag.ASTEROID)
     {
         return;
     }
     DespawnAsteroid(go.GetComponent <AsteroidComponent>(), despawner);
 }
Beispiel #6
0
 private void HandleGameEntityDespawned(GameObject go, GameEntityTag gameEntityTag, GameEntityTag despawner)
 {
     if (gameEntityTag != GameEntityTag.ENEMY)
     {
         return;
     }
     DespawnEnemy(go.GetComponent <EnemyComponent>(), despawner);
 }
        private void HandleGameEntityDespawned(GameObject go, GameEntityTag gameEntityTag, GameEntityTag despawner)
        {
            if (gameEntityTag != GameEntityTag.PLAYER)
            {
                return;
            }

            DespawnPlayer(go.GetComponent <PlayerShipComponent>());
        }
Beispiel #8
0
        private void HandleAsteroidDespawned(AsteroidComponent asteroid, GameEntityTag gameEntityTag)
        {
            if (gameEntityTag != GameEntityTag.BULLET)
            {
                return;
            }
            if (!_canAddScore)
            {
                return;
            }

            int score = _asteroidScoreDataSource.GetScore(asteroid.AsteroidData.AsteroidID);

            _scoreSystem.AddScore(score);
        }
        private void HandleEnemyDespawned(EnemyComponent enemy, GameEntityTag gameEntityTag)
        {
            if (gameEntityTag != GameEntityTag.BULLET)
            {
                return;
            }
            if (!_canAddScore)
            {
                return;
            }

            int score = _asteroidScoreDataSource.GetScore(enemy.EnemyData.EnemyID);

            _scoreSystem.AddScore(score);
        }
Beispiel #10
0
        private void HandleAsteroidDespawned(AsteroidComponent asteroidComponent, GameEntityTag gameEntityTag)
        {
            _bookKeepingInGameData.AsteroidCount.Value--;

            if (_bookKeepingInGameData.AsteroidCount.Value < 0)
            {
                throw new System.ArgumentException("Asteroid count value cannot be negative");
            }

            if (_bookKeepingInGameData.AsteroidCount.Value == 0)
            {
                _bookKeepingInGameData.CurrentStage.Value++;
                SpawnWave();
            }
        }
Beispiel #11
0
 private void DespawnAsteroid(AsteroidComponent asteroidComponent, GameEntityTag despawner)
 {
     _spawnedAsteroids.Remove(asteroidComponent);
     _gameSignals.AsteroidDespawnedSignal.Fire(asteroidComponent, despawner);
     _multiplePrefabMemoryPool.DespawnObject(asteroidComponent.gameObject);
 }
Beispiel #12
0
 private async void HandleAsteroidDespawned(AsteroidComponent asteroid, GameEntityTag despawner)
 {
     await TryToSpawnAsteroidSplit(asteroid);
 }