public override void init(ITaskListener taskListener, GameObject masterCanvas, GameObject scatterPlotManager)
 {
     setType(TaskType.TYPE_2);
     base.init(taskListener, masterCanvas, scatterPlotManager);
     setState(TaskState.INIT);
     question = questionFactory.getQuestion(2);
     execute();
 }
    public void generateQuestion()
    {
        int             numberOfQuestionTypes = questionList.Count;
        int             selectedType          = RandomGen.next(numberOfQuestionTypes);
        QuestionFactory factory = questionList[selectedType];

        while (previousQuestionFactory != null && factory.GetType().Equals(previousQuestionFactory.GetType()))
        {
            selectedType = RandomGen.next(numberOfQuestionTypes);
            factory      = questionList[selectedType];
        }

        previousQuestionFactory = factory;
        Question question = factory.getQuestion();

        this.currentQuestion = question;
        question.loadQuestion();

        time = 0f;
    }