コード例 #1
0
    public void RepeatStage()
    {
        CurrentWaveNumber = 0;
        EnemySpawner.StopSpawning();
        CurrentWaveEnemies.DestroyAll();

        if (CurrentStage != null)
        {
            StartCurrentStage();
        }
    }
コード例 #2
0
    private void HandleAlienDeath(AlienEnemy killedAlien)
    {
        CurrentWaveEnemies.Remove(killedAlien);
        killedAlien.UnregisterOnAlienDeathAction(HandleAlienDeath);

        OnAlienEnemyKilled(killedAlien);

        if (IsAnyAlienLeft() == false)
        {
            if (CurrentStageWaves.HasAnyElement() == true)
            {
                ResetFormationGrid();
                PrepareNewWave();
            }
            else
            {
                HandleStageFinished();
            }
        }
    }
コード例 #3
0
    private void HandleNewAlienCreated(AlienEnemy newAlien)
    {
        CurrentWaveEnemies.Add(newAlien);

        newAlien.RegisterOnAlienDeathAction(HandleAlienDeath);
    }