示例#1
0
        public static Assessment CreateSunMoonLetterAssessment(AssessmentContext context)
        {
            context.GameDescription = LocalizationDataId.Assessment_Classify_Letters_Article;
            AssessmentOptions.Instance.PronunceQuestionWhenClicked = true;
            AssessmentOptions.Instance.PronunceAnswerWhenClicked   = true;

            AssessmentOptions.Instance.ShowQuestionAsImage           = false;
            AssessmentOptions.Instance.PlayQuestionAlsoAfterTutorial = false;
            AssessmentOptions.Instance.QuestionSpawnedPlaySound      = false;
            AssessmentOptions.Instance.QuestionAnsweredPlaySound     = false;
            AssessmentOptions.Instance.QuestionAnsweredFlip          = false;

            Init(context);
            placerOptions.QuestionWideness = ElementsSize.Get(LivingLetterDataType.Letter);
            placerOptions.AnswerWideness   = ElementsSize.Get(LivingLetterDataType.Letter);

            CreateManagers(context,
                           DragManagerType.Default,
                           LogicInjectorType.Default,
                           AnswerPlacerType.Random
                           );

            ArabicCategoryProvider categoryProvider = new ArabicCategoryProvider(CategoryType.SunMoon);

            context.QuestionGenerator = new CategoryQuestionGenerator(context.Configuration.Questions,
                                                                      categoryProvider,
                                                                      context.AudioManager,
                                                                      2, rounds);
            context.QuestionPlacer = new CategoryQuestionPlacer(context.AudioManager, placerOptions);

            return(CreateAssessment(context));
        }
        public CategoryQuestionGenerator(IQuestionProvider questionProvider,
                                         ArabicCategoryProvider categoryProvider,
                                         AssessmentAudioManager dialogues,
                                         int maxAnsw, int rounds)
        {
            state = QuestionGeneratorState.Uninitialized;
            numberOfMaxAnswers    = maxAnsw;
            numberOfRounds        = rounds;
            answersBuckets        = new List <ILivingLetterData> [3];
            this.categoryProvider = categoryProvider;
            this.dialogues        = dialogues;

            for (int i = 0; i < 3; i++)
            {
                answersBuckets[i] = new List <ILivingLetterData>();
            }
            ClearCache();
            FillBuckets(questionProvider);
        }