Beispiel #1
0
    public BaseQuestion GetUIQuestion(int questionIndex, int answerButtons = 4)
    {
        ConfusionTouch questionType = ConfusionTouchList[questionIndex];

        AnswerInfos.Clear();

        CurrentColorID = AnswerID.None;

        int colors = EnumUtil.GetValues <ColorEnum>().Count;

        //Initializing a Question
        BaseQuestion bq = new BaseQuestion();

        bq.IgnoreClickCount       = true;
        bq.IgnoreClickTime        = true;
        bq.HasSequenceAnswer      = false;
        bq.HasBoolValue           = false;
        bq.HasTimerValue          = true;
        bq.HasSequentialQuestions = true;
        bq.Pattern         = QPattern.ConfusionTouch;
        bq.QuestionType    = QuestionType.Base;
        bq.TimeForQuestion = 0;
        bq.Options         = new List <AnswerSpriteHolder>();
        for (int i = 0; i < answerButtons; i++)
        {
            AnswerSpriteHolder answer = new AnswerSpriteHolder();
            bq.Options.Add(answer);
        }
        //

        //Getting a random color for the question
        int randomColorIndex = (int)Random.Range(0, colors);

        //Shuffle
        FisherYatesShuffle shuffle = new FisherYatesShuffle(colors);

        shuffle.ShuffleList();
        List <int> colorIndex = shuffle.ShuffledList;

        //Setting up button info for later assignment and setting up current answerID Color for the current question
        for (int i = 0; i < answerButtons; i++)
        {
            ConfusionTouchAnswerInfo answerInfo = GetNewAnswerButton();
            AnswerInfos.Add(answerInfo);
        }

        SetAnswerForQuestion();
        SetAnswerID((ColorEnum)randomColorIndex);

        //Assignment to answer buttons
        SetAnswerOption(ref bq, (ColorEnum)randomColorIndex, questionType);

        return(bq);
    }
Beispiel #2
0
    private SpriteID SetSpriteID(ConfusionTouchAnswerInfo answerInfo)
    {
        switch (answerInfo.BalloonColor)
        {
        case ColorEnum.Blue:
            return(SpriteID.Balloon_Blue);

        case ColorEnum.Green:
            return(SpriteID.Balloon_Green);

        case ColorEnum.Red:
            return(SpriteID.Balloon_Red);

        default:     //Yellow
            return(SpriteID.Balloon_Yellow);
        }
    }