public virtual void Dispose() { _controller = null; //_messageBox = null; _view = null; _model = null; }
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; }
public virtual void Init(IExerciseModel model, BaseExerciseController controller, IExerciseView view) { _controller = controller; //_messageBox = messageBox; _view = view; _model = model; Initialised = true; }
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>(); }
/// <summary> /// Initializes a new instance of the <see cref="T:ExerciseEngine.Model.Tutorial.TutorialManager"/> class. /// </summary> /// <param name="model">Model. For listening for level changes.</param> /// <param name="view">View. For triggers fired from the view.</param> /// <param name="exerciseConfig">Exercise config. For getting tutorial configurations.</param> /// <param name="currentDifficulty">Current difficulty. Starting difficulty of exercises</param> public TutorialManager(IExerciseModel model, IExerciseView view, IExerciseConfiguration exerciseConfig) { _model = model; _model.OnTutorialTrigger += OnModelUpdate; _view = view; _view.OnUpdate += OnViewUpdate; _exerciseConfiguration = exerciseConfig; _tutorialRuns = new Dictionary <Type, int>(); _tutorialLoops = 0; _currentRoundTriggers = new List <ITutorialTrigger>(); }
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; }
public void DoExercises() { if (Test.CategoryName == "Nyelvtan") { if (GrammarExercises.Count != _currentExerciseNum) { IExerciseView exerciseView = new GrammarChooseOneExerciseView( GrammarExercises[_currentExerciseNum], new RelayCommand(NextExercise) ); _gridOfTest.Children.Add(exerciseView.GetUIElement()); _currentExerciseNum++; } } else { if (VocabularyExercises.Count != _currentExerciseNum) { var exercise = VocabularyExercises[_currentExerciseNum]; IExerciseView exerciseView = SetExerciseType(exercise); _gridOfTest.Children.Add(exerciseView.GetUIElement()); _currentExerciseNum++; } } }
private async void NextExercise() { var result = new ResultPresenter { Number = Results.Count + 1, IsCorrect = false }; if (((IExerciseView)_gridOfTest.Children[0]).CheckIsCorrect()) { CorrectAnswers++; result.IsCorrect = true; } Results.Add(result); _gridOfTest.Children.Clear(); if (Test.CategoryName == "Nyelvtan") { if (GrammarExercises.Count != _currentExerciseNum) { IExerciseView exerciseView = new GrammarChooseOneExerciseView( GrammarExercises[_currentExerciseNum], new RelayCommand(NextExercise) ); _gridOfTest.Children.Add(exerciseView.GetUIElement()); _currentExerciseNum++; } else { Points = (int)(CorrectAnswers / (float)Test.NumberOfQuestions * Test.MaxPoints); End = true; var service = new TestService(); var testResult = new TestResultDto { RightAnswers = CorrectAnswers, WrongAnswers = Test.NumberOfQuestions - CorrectAnswers, Points = Points }; var userPoints = await service.PostTestResult(LoggedInUser, Test, testResult); LoggedInUser.Points = userPoints; } } else { if (VocabularyExercises.Count != _currentExerciseNum) { var exercise = VocabularyExercises[_currentExerciseNum]; IExerciseView exerciseView = SetExerciseType(exercise); _gridOfTest.Children.Add(exerciseView.GetUIElement()); _currentExerciseNum++; } else { Points = (int)(CorrectAnswers / (float)Test.NumberOfQuestions * Test.MaxPoints); End = true; var service = new TestService(); var testResult = new TestResultDto { RightAnswers = CorrectAnswers, WrongAnswers = Test.NumberOfQuestions - CorrectAnswers, Points = Points }; var userPoints = await service.PostTestResult(LoggedInUser, Test, testResult); LoggedInUser.Points = userPoints; } } }
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 LearnWordService(IExerciseView view, List <Word> words) { View = view; View.Words = words; Initialized(); }
public ExerciseController(Exercise exercise, IExerciseView view) { this.exercise = exercise; this.view = view; }