public void HostileDestroyed(Vector2 position) { _killedEnemies++; _powerUpSpawn.SpawnPowerUp(position); Debug.Log("Killed an Enemy: " + _killedEnemies + " / " + _targetEnemiesKilled); if (_killedEnemies >= _targetEnemiesKilled) { GameManager.Instance.playerWon = true; GameStateController.PerformTransition(_nextState); } }
protected override void Die() { if (Health.IsDead) { int shouldISpawnPowerUp = UnityEngine.Random.Range(1, 100); if (shouldISpawnPowerUp <= _powerUpLikelihood) { int whichPowerUpShouldISpawn = UnityEngine.Random.Range(0, 2); if (whichPowerUpShouldISpawn == 0) { _powerUpSpawner.SpawnPowerUp(this, "health"); } else { _powerUpSpawner.SpawnPowerUp(this, "weapon"); } } Destroy(gameObject); } }