public void ProvideHint(Problem currProblem) { //maybe make this a couroutine that can "iterate" thru each hint step //each of which is an audio file, except for the last which involves a visual change as wellS userInputRouter.DisplayLettersOf (currProblem.TargetWord (false)); switch (currHintIdx) { case 0: AudioSourceController.PushClip (sound_out_word); break; case 1: currProblem.PlaySoundedOutWord (); break; } StudentsDataHandler.instance.LogEvent ("requested_hint", currHintIdx + "", "NA"); }
public void SetUpNextProblem() { //get the next specific problem from the ProblemType class ClearSavedUserChanges (); hintController.Reset (); currProblem = ProblemsRepository.instance.GetNextProblem (); StudentsDataHandler.instance.RecordActivityTargetWord (currProblem.TargetWord (false)); lockedPositionHandler.ResetForNewProblem (); lockedPositionHandler.RememberPositionsThatShouldNotBeChanged (currProblem.InitialWord, currProblem.TargetWord (false).Trim ()); arduinoLetterController.ReplaceEachLetterWithBlank (); arduinoLetterController.PlaceWordInLetterGrid (currProblem.InitialWord); arduinoLetterController.UpdateDefaultColoursAndSoundsOfLetters (false); arduinoLetterController.LockAllLetters (); userInputRouter.RequestTurnOffImage (); hintController.DeActivateHintButton (); PlayInstructions (); //dont bother telling to place initial letters during assessment mode state = State.PLACE_INITIAL_LETTERS; //In case the initial state is already correct (...which happens when the user needs to build the word "from scratch". This makes it so //we don;t need to trigger the check by adding a "blank"! ChangeProblemStateIfAllLockedPositionsAHaveCorrectCharacter (); // }