Exemplo n.º 1
0
 protected virtual BaseExerciseController CreateController(NNLogger logger, IExerciseModel model,
                                                           IExerciseTerminator terminator,
                                                           NNUnityTimerFactory timerFactory, ExerciseSoundManager soundManager)
 {
     return(new BaseExerciseController(model, exerciseViewAdapter, backgroundViewAdapter, hudViewAdapter,
                                       timerFactory, terminator, logger, soundManager));
 }
        public BaseExerciseController(IExerciseModel exerciseModel, IExerciseView exerciseView, IExerciseBackgroundView exerciseBackgroundView, IExerciseHUD hud, ITimerFactory timerFactory,
                                      IExerciseTerminator terminator, ILogger logger, ISoundManager soundManager) : base(logger, terminator, exerciseView)
        {
            _soundManager   = soundManager;
            _model          = exerciseModel;
            _backgroundView = exerciseBackgroundView;
            _hud            = hud;

            _timeoutTimer         = timerFactory.CreateTimer();
            _exerciseTimer        = timerFactory.CreateTimer();
            _botTimer             = timerFactory.CreateTimer();
            _botTimer.OnComplete += ProcessBotAnswer;

            _tutorialManager           = new TutorialManager(_model, _view, _model.ExerciseConfiguration);
            _tutorialManager.OnUpdate += OnTutorialUpdate;

            _tutorialActivityManager = new TutorialActivityManager(logger, 3, 2, exerciseModel.ExerciseInitVO.StartWithTutorial, exerciseModel.ExerciseInitVO.TutorialSystemEnabled);

            var exerciseSettings = _model.ExerciseSettings;

            _view.Settings     = exerciseSettings;
            _soundManager.Mute = exerciseSettings.ContainsKey(ExerciseSettingsEnum.SoundsEnabled) && !exerciseSettings[ExerciseSettingsEnum.SoundsEnabled];

            MapState(BaseStates.INIT, OnStateInit, AfterStateInit);

            _botActived = false;

            _stopped = false;
        }
Exemplo n.º 3
0
 public StateMachine(ILogger logger, IExerciseTerminator terminator, IExerciseView exerciseView)
 {
     _disposed          = false;
     _terminator        = terminator;
     _view              = exerciseView;
     _logger            = logger;
     _state             = States.UNDEFINED;
     _enterStateMapping = new Dictionary <int, System.Action>();
     _exitStateMapping  = new Dictionary <int, System.Action>();
 }
 public MemoflowController(IExerciseModel exerciseModel, IExerciseView exerciseView, IExerciseBackgroundView exerciseBackgroundView, IExerciseHUD hud, ITimerFactory timerFactory, IExerciseTerminator terminator, ILogger logger, ISoundManager soundManager) : base(exerciseModel, exerciseView, exerciseBackgroundView, hud, timerFactory, terminator, logger, soundManager)
 {
 }
        public FlashGlanceController(IExerciseModel exerciseModel, IExerciseView exerciseView, IExerciseBackgroundView exerciseBackgroundView, IExerciseHUD hud, ITimerFactory timerFactory, IExerciseTerminator terminator, ILogger logger, ISoundManager soundManager) : base(exerciseModel, exerciseView, exerciseBackgroundView, hud, timerFactory, terminator, logger, soundManager)
        {
            _random = new Random();

            _spawnTimer             = timerFactory.CreateTimer();
            _spawnTimer.OnComplete += RequestNewItem;

            _moveTimer             = timerFactory.CreateTimer();
            _moveTimer.OnComplete += RequestMovement;

            _switchTimer             = timerFactory.CreateTimer();
            _switchTimer.OnComplete += RequestSwap;
        }