public void ActiveStage() { CurrentRunningEnemyIndex = 0; CurrentRunningEnemy = spwenEnemy(CurrentRunningEnemyIndex); CurrentRunningEnemy.OnEnemyFinished += continueStage; CurrentRunningEnemy.OnEnemyFinished += OnEnemyChange; CurrentRunningEnemy.ActiveEnemyComponent(); }
void continueStage(object sender, EventArgs e) { CurrentRunningEnemy.OnEnemyFinished -= OnEnemyChange; CurrentRunningEnemy.OnEnemyFinished -= continueStage; CurrentRunningEnemyIndex++; if (CurrentRunningEnemyIndex > Enemys.Count - 1) { OnStageOver?.Invoke(this, new EventArgs()); } else { CurrentRunningEnemy = spwenEnemy(CurrentRunningEnemyIndex); CurrentRunningEnemy.OnEnemyFinished += continueStage; CurrentRunningEnemy.OnEnemyFinished += OnEnemyChange; CurrentRunningEnemy.ActiveEnemyComponent(); } }
public void UnPauseStage() { CurrentRunningEnemy?.UnPauseEnemyComponentExcution(); }