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;
            }
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
        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);
                }
            }
        }