public bool Equals(ILivingLetterData data)
        {
            LL_ImageData other = data as LL_ImageData;

            if (other == null)
            {
                return(false);
            }

            return(other.Data.Id == Data.Id);
        }
Exemple #2
0
        public SunMoonQuestionProvider()
        {
            currentQuestion = 0;

            // 10 QuestionPacks
            for (int i = 0; i < 32; i++)
            {
                List <ILivingLetterData> correctAnswers = new List <ILivingLetterData>();
                List <ILivingLetterData> wrongAnswers   = new List <ILivingLetterData>();

                var data = AppManager.I.Teacher.GetRandomTestLetterLL();

                if (data == null)
                {
                    return;
                }

                // sun
                var sunData  = AppManager.I.DB.GetWordDataById("the_sun");
                var moonData = AppManager.I.DB.GetWordDataById("the_moon");

                ILivingLetterData sunWord  = new LL_ImageData(sunData.GetId(), sunData);
                ILivingLetterData moonWord = new LL_ImageData(moonData.GetId(), moonData);

                if (data.Data.SunMoon == Db.LetterDataSunMoon.Sun)
                {
                    correctAnswers.Add(sunWord);
                    wrongAnswers.Add(moonWord);
                }
                else if (data.Data.SunMoon == Db.LetterDataSunMoon.Moon)
                {
                    correctAnswers.Add(moonWord);
                    wrongAnswers.Add(sunWord);
                }
                else
                {
                    continue;
                }

                var currentPack = new SampleQuestionPack(data, wrongAnswers, correctAnswers);
                questions.Add(currentPack);
            }
        }
        /// <summary>
        /// Called when [model changed].
        /// </summary>
        void OnModelChanged()
        {
            if (Data == null)
            {
                ImageSprite.enabled = false;
                Drawing.enabled     = false;
                Label.enabled       = false;
            }
            else
            {
                if (Data.DataType == LivingLetterDataType.Image)
                {
                    Drawing.text    = Data.DrawingCharForLivingLetter;
                    Drawing.enabled = true;

                    LL_ImageData data = (LL_ImageData)Data;
                    if (data.Data.Category == Db.WordDataCategory.Color)
                    {
                        Drawing.color = GenericUtilities.GetColorFromString(data.Data.Value);
                    }
                    else
                    {
                        Drawing.color = Color.black;
                    }

                    //ImageSprite.sprite = Data.DrawForLivingLetter;
                    //ImageSprite.enabled = true;
                    Label.enabled = false;
                }
                else
                {
                    ImageSprite.enabled = false;
                    Drawing.enabled     = false;
                    Label.enabled       = true;

                    // Scale modification
                    switch (data.DataType)
                    {
                    case LivingLetterDataType.Word:
                        Label.text = Data.TextForLivingLetter;
                        Scale      = 1.3f;
                        break;

                    case LivingLetterDataType.Phrase:
                        Label.text = Data.TextForLivingLetter;
                        Scale      = 2f;
                        break;

                    case LivingLetterDataType.Letter:
                        Label.text = Data.TextForLivingLetter;
                        Scale      = 1f;
                        break;

                    default:
                        Label.text = Data.TextForLivingLetter;
                        Scale      = 1f;
                        break;
                    }
                }
            }
        }