public LevelManager(Settings settings, LevelGeneratorFactory levelGeneratorFactory, LevelCompletedSignal levelCompletedSignal) { _levelCompletedSignal = levelCompletedSignal; _levelGenerators = new Queue <ILevelGenerator>(); foreach (var level in settings.Levels) { _levelGenerators.Enqueue(levelGeneratorFactory.CreateLevelGenerator(level)); } }
public PlayingState( StateFactory stateFactory, FloorTouchedSignal floorTouchedSignal, AttachToPlayerSignal attachToPlayerSignal, LevelCompletedSignal levelCompletedSignal, ResetPlayerStateSignal resetPlayerStateSignal, GiveScorepointsSignal giveScorepointsSignal) { _stateFactory = stateFactory; _resetPlayerStateSignal = resetPlayerStateSignal; _giveScorepointsSignal = giveScorepointsSignal; floorTouchedSignal += OnGameEnded; levelCompletedSignal += OnLevelCompleted; attachToPlayerSignal.Fire(false); }