Exemplo n.º 1
0
        public void SetPipeAnswers(IEnumerable <ILivingLetterData> wrongAnswers, ILivingLetterData correctAnswers, bool sunMoonQuestion)
        {
            // Selecting auto-hiding signs
            toHide.Clear();
            for (int i = 0; i < pipeAnswers.Length; ++i)
            {
                if (Random.value + 0.0001f < hidingProbability)
                {
                    toHide.Add(pipeAnswers[i]);
                }
            }

            hideSignsTimer = 1.5f + 0.5f * toHide.Count;
            HidePipes();

            currentPipeAnswer = null;

            List <ILivingLetterData> wrongs = new List <ILivingLetterData>();

            foreach (ILivingLetterData answer in wrongAnswers)
            {
                wrongs.Add(answer);
            }

            int answersCount = wrongs.Count + 1;

            if (answersCount > 4)
            {
                answersCount = 4;
            }

            if (sunMoonQuestion)
            {
                int correctIndex = 0;
                int wrongIndex   = 1;

                if (correctAnswers.Id == "the_sun")
                {
                    correctIndex = 1;
                    wrongIndex   = 0;
                }

                pipeAnswers[correctIndex].SetAnswer(correctAnswers, true, game.drawingMaterial, Color.black);
                pipeAnswers[correctIndex].active   = true;
                pipeAnswers[correctIndex].ShowSign = true;

                pipeAnswers[wrongIndex].SetAnswer(wrongs[0], false, game.drawingMaterial, Color.black);
                pipeAnswers[wrongIndex].active   = true;
                pipeAnswers[wrongIndex].ShowSign = true;
            }
            else
            {
                int correctPosition = Random.Range(0, answersCount);

                for (int i = 0; i < answersCount; i++)
                {
                    if (i == correctPosition)
                    {
                        pipeAnswers[i].SetAnswer(correctAnswers, true,
                                                 ToboganGame.I.Difficulty <= 0.1f ? game.markedTextMaterial : game.textMaterial,
                                                 ToboganGame.I.Difficulty <= 0.1f ? (Color)ToboganGame.LETTER_MARK_PIPE_COLOR : Color.black);
                    }
                    else
                    {
                        int wrongIndex = Random.Range(0, wrongs.Count);

                        pipeAnswers[i].SetAnswer(wrongs[wrongIndex], false, game.textMaterial, Color.black);

                        wrongs.RemoveAt(wrongIndex);
                    }

                    pipeAnswers[i].active   = true;
                    pipeAnswers[i].ShowSign = true;
                }
            }
        }
Exemplo n.º 2
0
        public EggLivingLetter(Transform parent, GameObject letterObjectViewPrefab, GameObject shadowPrefab, ILivingLetterData livingLetterData, Vector3 startPosition, Vector3 shadowPosition, Vector3 endPosition, float delay, Action endCallback)
        {
            livingLetter = UnityEngine.Object.Instantiate(letterObjectViewPrefab).GetComponent <LivingLetterController>();

            livingLetter.transform.SetParent(parent);
            livingLetter.transform.localPosition = startPosition;


            if (livingLetterData.DataType == LivingLetterDataType.Letter)
            {
                ((LL_LetterData)livingLetterData).ForceShowAccent = true;
            }
            livingLetter.Init(livingLetterData);


            livingLetter.transform.localScale *= startScale;
            livingLetter.gameObject.SetActive(false);

            if (EggConfiguration.Instance.Variation == EggVariation.Image)
            {
                livingLetter.TransformIntoImage();
            }

            shadowTransform = UnityEngine.Object.Instantiate(shadowPrefab).transform;
            shadowTransform.SetParent(parent);
            shadowLocalPosition           = shadowPosition;
            shadowTransform.localPosition = shadowLocalPosition;
            shadowTransform.localScale   *= 0.7f;
            shadowTransform.gameObject.SetActive(false);

            this.startPosition = startPosition;
            this.endPosition   = endPosition;

            this.delay = delay;

            this.endCallback = endCallback;

            JumpToEnd();
        }
Exemplo n.º 3
0
        public IEnumerator StartNewRound_LettersInWord()
        {
            IQuestionPack newQuestionPack = ThrowBallsConfiguration.Instance.Questions.GetNextQuestion();

            List <ILivingLetterData> letterData = newQuestionPack.GetCorrectAnswers().ToList();

            numLettersRemaining = letterData.Count;
            numLetters          = numLettersRemaining;

            ResetScene();

            if (roundNumber == 1)
            {
                MinigamesUI.Init(MinigamesUIElement.Lives | MinigamesUIElement.Starbar);
                MinigamesUI.Lives.Setup(MAX_NUM_BALLS);
            }

            UIController.instance.Enable();

            ILivingLetterData firstLetter = letterData[0];

            letterData.RemoveAt(0);
            List <ILivingLetterData> remainingLetters = letterData;

            question = newQuestionPack.GetQuestion();
            UIController.instance.SetLetterHint(question);

            SayQuestion();

            yield return(new WaitForSeconds(1f));

            int numLettersInRound = remainingLetters.Count + 1;

            for (int i = 0; i < numLettersInRound; i++)
            {
                GameObject letterObj = letterPool[i];

                letterObj.SetActive(true);

                letterControllers[i].SetMotionVariation(GetMotionOfRound());

                letterControllers[i].SetPropVariation(GetPropOfRound());

                if (i == 0)
                {
                    letterObj.tag = Constants.TAG_CORRECT_LETTER;
                    letterControllers[i].SetLetter(firstLetter);
                }

                else
                {
                    if (remainingLetters[0].Id == firstLetter.Id)
                    {
                        letterObj.tag = Constants.TAG_CORRECT_LETTER;
                    }

                    else
                    {
                        letterObj.tag = Constants.TAG_WRONG_LETTER;
                    }

                    letterControllers[i].SetLetter(remainingLetters[0]);

                    remainingLetters.RemoveAt(0);
                }
            }

            isRoundOngoing = true;

            BallController.instance.Enable();

            if (IsTutorialLevel())
            {
                switch (ThrowBallsConfiguration.Instance.Variation)
                {
                case ThrowBallsVariation.letters:
                    audioManager.PlayDialogue(Db.LocalizationDataId.ThrowBalls_letters_Tuto);
                    break;

                case ThrowBallsVariation.words:
                    audioManager.PlayDialogue(Db.LocalizationDataId.ThrowBalls_words_Tuto);
                    break;

                case ThrowBallsVariation.lettersinword:
                    audioManager.PlayDialogue(Db.LocalizationDataId.ThrowBalls_letterinword_Tuto);
                    break;

                default:
                    break;
                }

                inputManager.Enabled = true;
                isVoiceOverDone      = true;
                ShowTutorialUI();
            }
        }
Exemplo n.º 4
0
 /// <summary>
 /// Initializes object with the specified data.
 /// </summary>
 /// <param name="data">The data.</param>
 public void Init(ILivingLetterData data)
 {
     idleTimer = Random.Range(3, 8);
     Data      = data;
 }
Exemplo n.º 5
0
 public void DisplayText(ILivingLetterData _letterData)
 {
     letterData = _letterData;
     LetterText.SetLetterData(letterData);
 }
Exemplo n.º 6
0
 public void Init(ILivingLetterData _data)
 {
     letterData = _data;
     LLPrefab.Init(_data);
     ConfigureJointAnchors(_data);
 }
Exemplo n.º 7
0
 public void LogAnswer(ILivingLetterData data, bool isCorrect)
 {
     Context.GetLogManager().OnAnswered(data, isCorrect);
     //Debug.Log(data.TextForLivingLetter);
 }
Exemplo n.º 8
0
        void Update()
        {
            if (lLDAudioQuestion.Count > 0)
            {
                if (audioSource != null)
                {
                    if (!audioSource.IsPlaying)
                    {
                        audioSource = null;
                    }
                }
                else
                {
                    ILivingLetterData letterData = lLDAudioQuestion[0];

                    audioSource = audioManager.PlayVocabularyData(letterData, false);

                    lLDAudioQuestion.RemoveAt(0);
                }
            }
            else
            {
                if (audioSource != null)
                {
                    if (!audioSource.IsPlaying)
                    {
                        audioSource = null;

                        if (endAudioQuestion != null)
                        {
                            endAudioQuestion();
                        }
                    }
                }
            }

            if (!eggEggCrackCompleteSent)
            {
                if (piecePoofCompleteCount >= eggPieces.Length)
                {
                    eggEggCrackCompleteSent = true;

                    EggShow(false);

                    if (onEggCrackComplete != null)
                    {
                        onEggCrackComplete();
                    }
                }
            }

            if (emoticonsController != null)
            {
                emoticonsController.Update(Time.deltaTime);
            }

            for (int i = 0; i < eggLivingLetters.Count; i++)
            {
                eggLivingLetters[i].Update(Time.deltaTime);
            }
        }
Exemplo n.º 9
0
 public void SetQuestion(ILivingLetterData _questionData)
 {
     questionData = _questionData;
 }
Exemplo n.º 10
0
        private Answer GenerateCorrectAnswer(ILivingLetterData correctAnswer)
        {
            cacheAnswerToRead = correctAnswer;

            return(ItemFactory.Instance.SpawnAnswer(correctAnswer, true, dialogues));
        }
Exemplo n.º 11
0
        public void OnEggButtonPressed(ILivingLetterData letterData)
        {
            game.Context.GetAudioManager().PlaySound(Sfx.UIButtonClick);

            if (Time.realtimeSinceStartup - lastTimePressed > deltaPressedInterval)
            {
                game.Context.GetAudioManager().PlayVocabularyData(letterData, false);
            }
            lastTimePressed = Time.realtimeSinceStartup;

            if (showTutorial)
            {
                if (!enteredRepeatMode)
                {
                    TutorialUI.Clear(false);
                }
                tutorialDelayTimer    = tutorialDelayTime;
                tutorialCorrectActive = false;
            }

            if (letterData == game.CurrentQuestion.Letters[letterOnSequence])
            {
                if (isSequence)
                {
                    game.eggButtonBox.GetEggButton(letterData).SetPressed();
                    PositiveFeedback();
                    game.Context.GetLogManager().OnAnswered(letterData, true);
                }
                else
                {
                    repeatInputHasProgressed = true;

                    if (!enteredRepeatMode)
                    {
                        EggConfiguration.Instance.Context.GetAudioManager().PlaySound(Sfx.OK);
                        enteredRepeatMode = true;
                        game.HintButton.gameObject.SetActive(false);
                        Vector3 clickPosition = game.eggButtonBox.GetButtons(false)[0].transform.position;
                        TutorialUI.ClickRepeat(clickPosition, 4);
                        game.eggButtonBox.RemoveButtons((a) => { return(a != letterData); });

                        if (!showTutorial)
                        {
                            game.Context.GetLogManager().OnAnswered(letterData, true);
                        }
                    }
                }
            }
            else
            {
                if (isSequence && game.eggButtonBox.GetEggButton(letterData).IsPressed())
                {
                    return;
                }

                game.eggButtonBox.SetButtonsOnStandardColor(game.eggButtonBox.GetEggButton(letterData));

                if (showTutorial)
                {
                    ShowTutorialPressedWrong(letterData);
                }
                else
                {
                    NegativeFeedback();
                    game.Context.GetLogManager().OnAnswered(letterData, false);
                }
            }
        }
Exemplo n.º 12
0
 private Answer GenerateWrongAnswer(ILivingLetterData wrongAnswer)
 {
     return(ItemFactory.Instance.SpawnAnswer(wrongAnswer, false, dialogues));
 }
Exemplo n.º 13
0
        public IQuestion GetNextQuestion()
        {
            if (state != QuestionGeneratorState.Initialized)
            {
                throw new InvalidOperationException("Not Initialized");
            }

            state = QuestionGeneratorState.QuestionFeeded;

            currentPack = provider.GetNextQuestion();

            if (config == DefaultQuestionType.MissingForm || config == DefaultQuestionType.VisibleForm)
            {
                return(CustomQuestion());
            }

            List <Answer>     answers      = new List <Answer>();
            ILivingLetterData questionData = currentPack.GetQuestion();

            //____________________________________
            //Prepare answers for next method call
            //____________________________________


            foreach (var wrong in currentPack.GetWrongAnswers())
            {
                var wrongAnsw = GenerateWrongAnswer(wrong);

                answers.Add(wrongAnsw);
                totalAnswers.Add(wrongAnsw);
            }

            int    correctCount      = 0;
            Answer greenAnswerLetter = null;

            foreach (var correct in currentPack.GetCorrectAnswers())
            {
                var correctAnsw = GenerateCorrectAnswer(correct);
                if (correctCount == 0)
                {
                    greenAnswerLetter = correctAnsw;
                }
                correctCount++;
                answers.Add(correctAnsw);
                totalAnswers.Add(correctAnsw);
            }

            partialAnswers = answers.ToArray();

            // Generate the question
            var question = GenerateQuestion(questionData, correctCount);

            totalQuestions.Add(question);
            greenHighlightList.Add(new Tuple <IQuestion, Answer>(question, greenAnswerLetter));

            // Generate placeholders
            foreach (var correct in currentPack.GetCorrectAnswers())
            {
                GeneratePlaceHolder(question, AssessmentOptions.Instance.AnswerType);
            }
            return(question);
        }
Exemplo n.º 14
0
 public virtual bool IsDataMatching(ILivingLetterData data1, ILivingLetterData data2)
 {
     return(DataMatchingHelper.IsDataMatching(data1, data2, LetterEqualityStrictness.LetterOnly));
 }
Exemplo n.º 15
0
 private Answer GenerateWrongAnswer(ILivingLetterData wrongAnswer)
 {
     return(ItemFactory.Instance.SpawnAnswer(wrongAnswer, false, audioManager));
 }
Exemplo n.º 16
0
 public void SetAnswers(ILivingLetterData _answersData)
 {
     answersData.Clear();
     answersData.Add(_answersData);
 }
Exemplo n.º 17
0
 private Answer GenerateCorrectAnswer(ILivingLetterData correctAnswer)
 {
     return(ItemFactory.Instance.SpawnAnswer(correctAnswer, true, audioManager));
 }
Exemplo n.º 18
0
        public IEnumerator StartNewRound()
        {
            ResetScene();

            if (!uiInitialised && !IsTutorialRound())
            {
                uiInitialised = true;


                game.Context.GetOverlayWidget().Initialize(true, false, true);
                game.Context.GetOverlayWidget().SetStarsThresholds(1, 3, 5);
                game.Context.GetOverlayWidget().SetMaxLives(MAX_NUM_BALLS);
            }

            IQuestionPack newQuestionPack = ThrowBallsConfiguration.Instance.Questions.GetNextQuestion();

            question = newQuestionPack.GetQuestion();
            ILivingLetterData        correctDatum = newQuestionPack.GetCorrectAnswers().ToList()[0];
            List <ILivingLetterData> wrongData    = newQuestionPack.GetWrongAnswers().ToList();

            if (ThrowBallsConfiguration.Instance.Variation == ThrowBallsVariation.Word)
            {
                correctDatum = new LL_ImageData(correctDatum.Id);

                for (int i = 0; i < wrongData.Count; i++)
                {
                    wrongData[i] = new LL_ImageData(wrongData[i].Id);
                }
            }
            else
            {
                SayQuestion();
            }

            yield return(new WaitForSeconds(1f));

            int indexOfCorrectLetter = 0;

            if (game.Difficulty <= ThrowBallsGame.ThrowBallsDifficulty.Easy || IsTutorialRound())
            {
                for (int i = 0; i < NumLettersInCurrentRound; i++)
                {
                    letterPool[i].SetActive(true);
                }

                int indexOfUnobstructedLetter = 0;

                while (letterControllers[indexOfUnobstructedLetter].IsObstructedByOtherLetter())
                {
                    indexOfUnobstructedLetter++;
                }

                indexOfCorrectLetter = indexOfUnobstructedLetter;
            }

            for (int i = 0; i < NumLettersInCurrentRound; i++)
            {
                GameObject letterObj = letterPool[i];

                letterObj.SetActive(true);

                ConfigureLetterPropAndMotionVariation(letterControllers[i]);

                if (i == indexOfCorrectLetter)
                {
                    letterObj.tag = Constants.CORRECT_LETTER_TAG;
                    letterControllers[i].SetLetter(correctDatum);
                    tutorialTarget = letterObj;
                }
                else
                {
                    letterObj.tag = Constants.WRONG_LETTER_TAG;
                    letterControllers[i].SetLetter(wrongData[0]);
                    wrongData.RemoveAt(0);
                }
            }

            isRoundOngoing = true;

            BallController.instance.Enable();

            UIController.instance.Enable();
            UIController.instance.EnableLetterHint();
            UIController.instance.SetLivingLetterData(question);

            if (IsTutorialRound())
            {
                switch (ThrowBallsConfiguration.Instance.Variation)
                {
                case ThrowBallsVariation.LetterName:
                    audioManager.PlayDialogue(Database.LocalizationDataId.ThrowBalls_lettername_Tuto);
                    break;

                case ThrowBallsVariation.LetterAny:
                    audioManager.PlayDialogue(Database.LocalizationDataId.ThrowBalls_lettername_Tuto);
                    break;

                case ThrowBallsVariation.Word:
                    audioManager.PlayDialogue(Database.LocalizationDataId.ThrowBalls_word_Tuto);
                    break;

                case ThrowBallsVariation.BuildWord:
                    audioManager.PlayDialogue(Database.LocalizationDataId.ThrowBalls_buildword_Tuto);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                inputManager.Enabled = true;
                isVoiceOverDone      = true;
                ShowTutorialUI();
            }
        }
Exemplo n.º 19
0
        public EggLivingLetter(Transform parent, GameObject letterObjectViewPrefab, GameObject shadowPrefab, ILivingLetterData livingLetterData, Vector3 startPosition, Vector3 shadowPosition, Vector3 endPosition, float delay, Action endCallback)
        {
            livingLetter = UnityEngine.Object.Instantiate(letterObjectViewPrefab).GetComponent <LivingLetterController>();

            livingLetter.transform.SetParent(parent);
            livingLetter.transform.localPosition = startPosition;
            livingLetter.Init(livingLetterData);
            livingLetter.transform.localScale *= startScale;
            livingLetter.gameObject.SetActive(false);

            shadowTransform = UnityEngine.Object.Instantiate(shadowPrefab).transform;
            shadowTransform.SetParent(parent);
            shadowLocalPosition           = shadowPosition;
            shadowTransform.localPosition = shadowLocalPosition;
            shadowTransform.localScale   *= 0.7f;
            shadowTransform.gameObject.SetActive(false);

            this.startPosition = startPosition;
            this.endPosition   = endPosition;

            this.delay = delay;

            this.endCallback = endCallback;

            JumpToEnd();
        }
Exemplo n.º 20
0
        public IEnumerator StartNewRound_LettersInWord()
        {
            IQuestionPack newQuestionPack = ThrowBallsConfiguration.Instance.Questions.GetNextQuestion();

            currentLettersForLettersInWord = newQuestionPack.GetCorrectAnswers().ToList();

            numLettersRemaining = currentLettersForLettersInWord.Count;

            ResetScene();

            List <int> sortedIndices = SortLettersByZIndex(currentLettersForLettersInWord.Count);

            if (!uiInitialised && !IsTutorialRound())
            {
                uiInitialised = true;
                game.Context.GetOverlayWidget().Initialize(true, false, true);
                game.Context.GetOverlayWidget().SetStarsThresholds(1, 3, 5);
                game.Context.GetOverlayWidget().SetMaxLives(MAX_NUM_BALLS);
            }

            question = newQuestionPack.GetQuestion();
            SayQuestion();

            yield return(new WaitForSeconds(1f));

            UIController.instance.Enable();
            UIController.instance.EnableLetterHint();
            UIController.instance.SetLivingLetterData(question);

            var letterToFlash = (LL_LetterData)currentLettersForLettersInWord[0];

            var letterDataToFlash = ArabicAlphabetHelper.FindLetter(AppManager.I.DB, ((LL_WordData)question).Data, letterToFlash.Data, false)[0];

            flashingTextCoroutine = ArabicTextUtilities.GetWordWithFlashingText(((LL_WordData)question).Data, letterDataToFlash.fromCharacterIndex, letterDataToFlash.toCharacterIndex, Color.green, FLASHING_TEXT_CYCLE_DURATION, int.MaxValue,
                                                                                (string text) => {
                UIController.instance.SetText(text);
            }, false);

            flashedLettersInLiWVariation.Add(letterToFlash);

            ThrowBallsGame.instance.StartCoroutine(flashingTextCoroutine);

            for (int i = 0; i < currentLettersForLettersInWord.Count; i++)
            {
                int        letterObjectIndex = game.Difficulty <= ThrowBallsGame.ThrowBallsDifficulty.Easy ? sortedIndices[i] : i;
                GameObject letterObj         = letterPool[letterObjectIndex];

                letterObj.SetActive(true);

                ConfigureLetterPropAndMotionVariation(letterControllers[letterObjectIndex]);

                letterControllers[letterObjectIndex].SetLetter(currentLettersForLettersInWord[i]);
                letterObj.tag = currentLettersForLettersInWord[i].Id == currentLettersForLettersInWord[0].Id ? Constants.CORRECT_LETTER_TAG : Constants.WRONG_LETTER_TAG;

                if (i == 0)
                {
                    tutorialTarget = letterObj;
                }
            }

            isRoundOngoing = true;

            BallController.instance.Enable();

            if (IsTutorialRound())
            {
                switch (ThrowBallsConfiguration.Instance.Variation)
                {
                case ThrowBallsVariation.LetterName:
                    audioManager.PlayDialogue(Database.LocalizationDataId.ThrowBalls_lettername_Tuto);
                    break;

                case ThrowBallsVariation.LetterAny:
                    audioManager.PlayDialogue(Database.LocalizationDataId.ThrowBalls_lettername_Tuto);
                    break;

                case ThrowBallsVariation.Word:
                    audioManager.PlayDialogue(Database.LocalizationDataId.ThrowBalls_word_Tuto);
                    break;

                case ThrowBallsVariation.BuildWord:
                    audioManager.PlayDialogue(Database.LocalizationDataId.ThrowBalls_buildword_Tuto);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                inputManager.Enabled = true;
                isVoiceOverDone      = true;
                ShowTutorialUI();
            }
        }
Exemplo n.º 21
0
 public void SetLetter(ILivingLetterData _data)
 {
     letterData = _data;
     letterObjectView.Init(letterData);
 }
Exemplo n.º 22
0
 public void Init(ILivingLetterData _data)
 {
     letterData = _data;
     displayedText.SetLetterData(letterData);
 }
 public void Init(ILivingLetterData _data)
 {
     letterData         = _data;
     displayedText.text = letterData.TextForLivingLetter;//ArabicAlphabetHelper.GetLetterFromUnicode(letterData.Data.Isolated_Unicode);
 }
Exemplo n.º 24
0
 public void SetLivingLetterData(ILivingLetterData _data)
 {
     livingLetterData = _data;
     wordFlexibleContainer.SetLetterData(_data);
 }
Exemplo n.º 25
0
 public void SetInPhrase(ILivingLetterData _phraseId)
 {
     m_sInPhrase = _phraseId;
 }
Exemplo n.º 26
0
 private GameObject QuestionView(ILivingLetterData data)
 {
     return(LivingLetterFactory.Instance.SpawnQuestion(data).gameObject);
 }
 public void Init(ILivingLetterData _letterData)
 {
     Reset();
     letterData      = _letterData;
     LetterText.text = letterData.TextForLivingLetter; //ArabicAlphabetHelper.GetLetterFromUnicode(letterData.Data.Isolated_Unicode);
 }
Exemplo n.º 28
0
        public IQuestion GetNextQuestion()
        {
            if (state != QuestionGeneratorState.Initialized)
            {
                throw new InvalidOperationException("Not Initialized");
            }

            state = QuestionGeneratorState.QuestionFeeded;

            currentPack = provider.GetNextQuestion();

            List <Answer>        answers               = new List <Answer>();
            ILivingLetterData    questionData          = currentPack.GetQuestion();
            LivingLetterDataType cacheLivingLetterType = LivingLetterDataType.Letter;

            //____________________________________
            //Prepare answers for next method call
            //____________________________________

            if (missingLetter)
            {
                // ### MISSING LETTER ###
                foreach (var wrong in currentPack.GetWrongAnswers())
                {
                    cacheLivingLetterType = wrong.DataType;
                    var wrongAnsw = GenerateWrongAnswer(wrong);

                    answers.Add(wrongAnsw);
                    totalAnswers.Add(wrongAnsw);
                }

                var correct = currentPack.GetCorrectAnswers().ToList()[0];
                cacheLivingLetterType = correct.DataType;

                var correctAnsw = GenerateCorrectAnswer(correct);

                answers.Add(correctAnsw);
                totalAnswers.Add(correctAnsw);

                partialAnswers = answers.ToArray();

                // Generate the question
                var question = GenerateMissingLetterQuestion(questionData, correct);
                totalQuestions.Add(question);
                GeneratePlaceHolder(question, cacheLivingLetterType);
                return(question);
            }
            else
            {
                // ### ORDER LETTERS ###
                foreach (var correct in currentPack.GetCorrectAnswers())
                {
                    var correctAnsw = GenerateCorrectAnswer(correct);
                    answers.Add(correctAnsw);
                    totalAnswers.Add(correctAnsw);
                }

                partialAnswers = answers.ToArray();

                // Generate the question
                var question = GenerateQuestion(questionData);
                totalQuestions.Add(question);

                return(question);
            }
        }
Exemplo n.º 29
0
 public void SetText(ILivingLetterData data)
 {
     Label.gameObject.SetActive(true);
     NumbersLabel.gameObject.SetActive(false);
     Label.SetLetterData(data);
 }
Exemplo n.º 30
0
        public void SetQuestion(ILivingLetterData questionData)
        {
            this.questionData.Clear();

            this.questionData.Add(questionData);
        }