public void CorrectOptionChosen() { SoundController.GetController().PlayRightAnswerSound(); correctAnswers++; if (!timeLevel) { MetricsController.GetController().AddRightAnswer(); } else { timeCorrectAnswers++; } view.RefreshCorrectCounter(timeCorrectAnswers); view.ShowCorrectAnimation(); if (correctAnswers == 3 && currentLevelCounter != 2) { RaulStage nextStage = GetNextStage(); StartCoroutine(ShowNextLevelAnimation(0.5f)); if (nextStage == null) { ChangeToNextLevel(); } else { StartCoroutine(GetNextOption(nextStage, 2)); } } else if (currentLevelCounter == 2) { if (correctAnswers < 10 && correctAnswers % 3 == 0) { currentTime += 7; } else if (correctAnswers % 3 == 0) { currentTime += 5; } CancelInvoke("RunTime"); view.SetTime(currentTime); RandomizeStage(2); } else { StartCoroutine(GetNextOption(null, 2)); } }
private IEnumerator GetNextOption(RaulStage newStage, float timeToWait) { yield return(new WaitForSeconds(timeToWait)); if (newStage != null) { currentLevel.SetNewStage(newStage); } currentLevel.GetNewOption(); view.ResetView(); if (currentLevelCounter == 2) { InvokeRepeating("RunTime", 0, 1f); } }
public void SetNewStage(RaulStage newStage) { currentStage = newStage; currentStage.SetView(); }