void CheckResult(int id) { letterInAnimation = GetIdFromPosition(id); HideAndSeekLetterController script = ArrayLetters[letterInAnimation].GetComponent <HideAndSeekLetterController>(); if (script.view.Data.Id == GetCorrectAnswer().Id) { script.PlayResultAnimation(true); AudioManager.I.PlaySound(Sfx.Win); AudioManager.I.PlaySound(Sfx.OK); script.GetComponent <EmoticonsAnimator>().DoCorrect(); StartCoroutine(GoToPlay()); phase = -1; buttonRepeater.SetActive(false); } else { script.PlayResultAnimation(false); ArrayTrees[1].GetComponent <SphereCollider>().enabled = true; phase = 2; TutorialUI.Clear(false); AudioManager.I.PlaySound(Sfx.Lose); AudioManager.I.PlaySound(Sfx.KO); script.GetComponent <EmoticonsAnimator>().DoWrong(); timeFinger = Time.time + animDuration + timeToWait; } }
public void NewRound() { ClearRound(); isRoundRunning = true; currentQuestion = HideAndSeekConfiguration.Instance.Questions.GetNextQuestion(); StartNewRound = false; SetFullLife(); FreePlaceholder = MAX_OBJECT; ActiveTrees = new List <GameObject>(); List <ILivingLetterData> letterList = new List <ILivingLetterData>(); foreach (LL_LetterData letter in currentQuestion.GetCorrectAnswers()) { letterList.Add(letter); } int numWrong = Mathf.RoundToInt(2 + HideAndSeekConfiguration.Instance.Difficulty * 4); foreach (LL_LetterData letter in currentQuestion.GetWrongAnswers()) { if (numWrong-- == 0) { break; } letterList.Add(letter); } ActiveLetters = letterList.Count; for (int i = 0; i < ActiveLetters; ++i) { int index = getRandomPlaceholder(); if (index != -1) { ActiveTrees.Add(ArrayTrees[index]); Vector3 hiddenPosition = new Vector3(ArrayPlaceholder[index].transform.position.x, ArrayPlaceholder[index].transform.position.y - 3f, ArrayPlaceholder[index].transform.position.z + 3f); ArrayLetters[i].transform.position = hiddenPosition; HideAndSeekLetterController scriptComponent = ArrayLetters[i].GetComponent <HideAndSeekLetterController>(); scriptComponent.SetStartPosition(ArrayPlaceholder[index].transform.position); scriptComponent.id = index; SetLetterMovement(index, scriptComponent); ArrayLetters[i].GetComponentInChildren <LivingLetterController>().Init(letterList[i]); ArrayLetters[i].transform.DOMove(ArrayPlaceholder[index].transform.position, 0.5f); } } LockLetters(false); StartCoroutine(DisplayRound_Coroutine()); }
public void SetLetterMovement(int placeholder, HideAndSeekLetterController script) { if (placeholder == 1) { script.SetMovement(MovementType.OnlyRight); } else if (placeholder == 2) { script.SetMovement(MovementType.OnlyLeft); } else { script.SetMovement(MovementType.Normal); } }
void CheckResult(int id) { if (game.isTimesUp) { return; } letterInAnimation = GetIdFromPosition(id); HideAndSeekLetterController script = ArrayLetters[letterInAnimation].GetComponent <HideAndSeekLetterController>(); if (script.view.Data.Id == GetCorrectAnswer().Id) { isRoundRunning = false; LockTrees(); LockLetters(true); StartCoroutine(DelayAnimation()); script.PlayResultAnimation(true); script.GetComponent <EmoticonsAnimator>().DoCorrect(); game.OnResult(GetCorrectAnswer(), true); buttonRepeater.SetActive(false); AudioManager.I.PlaySound(Sfx.Win); AudioManager.I.PlaySound(Sfx.OK); } else { AudioManager.I.PlaySound(Sfx.KO); game.OnResult(GetCorrectAnswer(), false); RemoveLife(); script.PlayResultAnimation(false); script.GetComponent <EmoticonsAnimator>().DoWrong(); if (lifes == 0) { isRoundRunning = false; LockTrees(); LockLetters(true); AudioManager.I.PlaySound(Sfx.Lose); StartCoroutine(DelayAnimation()); buttonRepeater.SetActive(false); } } }