/// <summary>
        /// Asigna una imagen y modifica el estad
        /// </summary>
        public void ChooseAnswer()
        {
            if (_QuestionChooseManager.AnswerOptions > 0)
            {
                switch (status)
                {
                case Status.None:
                    status = Status.Choosed;
                    _QuestionChooseManager.AnswerOptions--;
                    _fxAudio.PlayAudio(0);
                    AssignSprite(Choosed);
                    break;

                case Status.Choosed:
                    ResetAnswer();
                    _QuestionChooseManager.AnswerOptions++;
                    _fxAudio.PlayAudio(0);
                    break;
                }
            }

            else if (_QuestionChooseManager.AnswerOptions == 0)
            {
                if (status == Status.Choosed)
                {
                    ResetAnswer();
                    _QuestionChooseManager.AnswerOptions++;
                    _fxAudio.PlayAudio(0);
                }
            }
        }
        /// <summary>
        /// Verifica las respuesta, reproduce el sonido de acierto o error y redirige al siguiente elemento
        /// </summary>
        public void CheckAnswer()
        {
            if (_scored == false)
            {
                int rightAnswer = 0;
                int wrongAnswer = 0;
                foreach (var ans in _Answers)
                {
                    if (ans.status == AnwserChooseManager.Status.Choosed && ans.IsRight)
                    {
                        ans.AssignSprite(ans.Right);
                        rightAnswer++;
                    }
                    else if (ans.status == AnwserChooseManager.Status.Choosed && ans.IsRight == false)
                    {
                        ans.AssignSprite(ans.Wrong);
                        wrongAnswer++;
                    }
                }

                Debug.Log("Respuestas incorrectas " + wrongAnswer);
                Debug.Log("Respuestas correctas " + rightAnswer);
                if (wrongAnswer == 0 && rightAnswer == _numAnswer)
                {
                    _scoreManager.IncreaseScore(rightAnswer); //Aumenta el score por el numero de aciertos
                    //Deshabilita todos los botones
                    _fxAudio.PlayAudio(2);                    //Reproduce el audio de acierto
                    _navegationManager.Forward();
                }
                else
                {
                    _fxAudio.PlayAudio(1);
                }

                SetAnswerStatus(false);
                _navegationManager.Forward(_delay);
                _scored = true;
            }
        }
Exemplo n.º 3
0
 public void OnDrop(PointerEventData eventData)
 {
     //Si no hay un item en el slot el elemento seleccionado se vuelve hijo del slot sobre el cual se encuentra sobrepuesto.
     if (!Item && DragHandler.ItemBeginDragged.GetComponent <DragHandler>().CanMove)
     {
         DragHandler.ItemBeginDragged.transform.SetParent(transform);
         //Debug.Log(DragHandler.ItemBeginDragged.gameObject.name);
     }
     else
     {
         DragHandler.ItemBeginDragged.transform.SetParent(transform);
         Item.transform.SetParent(DragHandler.StartParent);
         Item.transform.position = DragHandler.StartPosition;
         if (_FxAudio)
         {
             _FxAudio.PlayAudio(0);
         }
     }
 }
Exemplo n.º 4
0
        /// <summary>
        /// Verifica que el numero de drags sea cero
        /// </summary>
        public void CheckAnswer()
        {
            Debug.Log("Numero de respuestas positivas " + _respuestasPositivas);
            if (_checkTrigger == false)
            {
//                if (HasOrder) {
//                    foreach (var drags in _drags) {
//                        foreach (var drops in _drops) {
//                            //Compara que el padre y el hijo tengan los mismo nombres;
//                            if (drags.gameObject.name == drops.gameObject.name) {
//                                if (drags.transform.parent.gameObject.name == drops.gameObject.name) {
//                                    _scoreManager.IncreaseScore();
//                                    drags.GetComponent<DragHandler>().SetImgCalification(true);
//                                    //A medidad que vanyan aumentando la respuestas positivas este numero ira disminuyendo
//                                    _respuestasPositivas--;
//                                    //                                _respuestasPositivas = _respuestasPositivas > 0
//                                    //                                    ? _respuestasPositivas - 1
//                                    //                                    : _respuestasPositivas;
//                                    Debug.Log("Respuestas restantes " + _respuestasPositivas);
//                                }
//                                else {
//                                    drags.GetComponent<DragHandler>().SetImgCalification(false);
//                                }
//                            }
//                        }
//                    }
                _respuestasPositivas = Drops.Length;
//                Debug.Log("Numero de respuestas  " + _respuestasPositivas);
                if (_checkTrigger == false)
                {
                    foreach (var t1 in Drags)
                    {
                        foreach (var t in Drops)
                        {
                            if (t1.gameObject.name == t.gameObject.name)
                            {
                                if (t1.transform.parent.gameObject == t.gameObject)
                                {
                                    t1.GetComponent <DragHandler>().SetImgCalification(true);
                                    _scoreManager.IncreaseScore();
                                    t.gameObject.GetComponent <SlotHandler>().Calificado = true;
                                    _respuestasPositivas--;
                                }
                            }
                        }
                    }

//                if (HasOrder) {
//                    foreach (var drags in _drags) {
//                        foreach (var drops in _drops) {
//                            //Compara que el padre y el hijo tengan los mismo nombres;
//                            if (drags.gameObject.name == drops.gameObject.name) {
//                                if (drags.transform.parent.gameObject.name == drops.gameObject.name) {
//                                    _scoreManager.IncreaseScore();
//                                    drags.GetComponent<DragHandler>().SetImgCalification(true);
//                                    //A medidad que vanyan aumentando la respuestas positivas este numero ira disminuyendo
//                                    _respuestasPositivas--;
//                                    //                                _respuestasPositivas = _respuestasPositivas > 0
//                                    //                                    ? _respuestasPositivas - 1
//                                    //                                    : _respuestasPositivas;
//                                    Debug.Log("Respuestas restantes " + _respuestasPositivas);
//                                }
//                                else {
//                                    drags.GetComponent<DragHandler>().SetImgCalification(false);
//                                }
//                            }
//                        }
                }


//                Debug.Log("Numero de respuestas positivas " + _respuestasPositivas);
                CheckErrors();
                SetAnswersStatus(false);
                _checkTrigger = true;
            }

            if (_checkTrigger && _inputTextQuestion != null && HasInputActivity)
            {
                _fxAudio.PlayAudio(_respuestasPositivas == 0 && _inputTextQuestion.CheckInputAnswer() ? 2 : 1);
                //Si permite ir hacia la siguiente layout
                if (Forward && _navegationManager != null)
                {
                    _navegationManager.Forward(Delay);
                }
            }

            if (HasInputActivity == false && _checkTrigger && _inputTextQuestion == null)
            {
                _fxAudio.PlayAudio(_respuestasPositivas == 0 ? 2 : 1);
                //Si permite ir hacia la siguiente layout
                if (Forward && _navegationManager != null)
                {
                    _navegationManager.Forward(Delay);
                }
            }

            //Si respuestasPositivas es 0 reproduce sonido de acirto, de lo contrario error, 2 y 1 corresponden a los indices
        }