internal void AdvanceDialog() { CurrentQuiz.AdvanceDialog(); if (CurrentQuiz.OnLastLine) { FinishQuiz(); } }
internal void AnswerQuestion(int answerIdx) { CurrentQuiz.AnswerQuestion(answerIdx); if (CurrentQuiz.IsComplete()) { CurrentQuiz.ComputeResult(); result = QuizResult.ResultsMap[CurrentQuiz.GetResultType()]; } }
public QuizEditorViewModel(IDialogService dialogService, IFileService fileService) { _dialogService = dialogService; _fileService = fileService; NewCommand = new Command(obj => CreateQuiz()); OpenCommand = new Command(obj => OpenQuiz()); SaveCommand = new Command(obj => SaveQuiz(), obj => CurrentQuiz != null); EditCommand = new Command(obj => new SettingsWindow(CurrentQuiz).Show(), obj => CurrentQuiz != null); AddTaskCommand = new Command(obj => CreateAndAddTask(obj as ICreatorTask), obj => CurrentQuiz != null); RemoveTaskCommand = new Command(obj => CurrentQuiz.Tasks.Remove(SelectedTask), obj => SelectedTask != null); AddGradePointCommand = new Command(obj => CurrentQuiz.AddNewGradePoint(), obj => CurrentQuiz != null); RemoveGradePointCommand = new Command(obj => CurrentQuiz.GradePoints.Remove(SelectedGradePoint), obj => SelectedGradePoint != null); AddAnswerCommand = new Command(obj => SelectedTask.AddNewAnswer(), obj => SelectedTask != null); RemoveAnswerCommand = new Command(obj => SelectedTask.RemoveAnswer(SelectedAnswer), obj => SelectedAnswer != null); CloseCommand = new Command(obj => Close()); MinimizeCommand = new Command(obj => MinimizeAction()); MaximizeCommand = new Command(obj => MaximizeAction()); }
internal void FinishQuiz() { IsTakingQuiz = false; LeveledCombatPetModPlayer petPlayer = Player.GetModPlayer <LeveledCombatPetModPlayer>(); petPlayer.TemporarilyUnflagPetBuff(result.BuffType); if (CurrentQuiz.ExtraResultItemID != ItemID.None) { Player.QuickSpawnItem(CurrentQuiz.ExtraResultItemID); } Player.QuickSpawnItem(result.ItemType); Player.AddBuff(result.BuffType, 2); // shift out the oldest personality quiz result, then save this answer for (int i = LastUsedTypes.Length - 2; i >= 0; i--) { LastUsedTypes[i + 1] = LastUsedTypes[i]; } LastUsedTypes[0] = CurrentQuiz.GetResultType(); ConsumeQuizActivatingItem(); }