public void Initialize() { StageQueue.Enqueue(_settings.RandomStageFacade); _settings.PredefinedStages.ForEach(stage => StageQueue.Enqueue(stage)); _currentStageFacade = _stageFactory.Create(GetNextStage().gameObject); _currentStageFacade.StartStage(); }
public void Tick() { if (_currentStageFacade.HasStageEnded) { var nextStage = GetNextStage(); if (nextStage == null) { return; } _currentStageFacade.StopStage(); _currentStageFacade = nextStage; _currentStageFacade.StartStage(); } }