コード例 #1
0
        Question GenerateQuestion(JSONObject json)
        {
            print("question:" + json.ToString());
            string questiontype = json["questiontype"].Str;

            Question question = null;

            switch (questiontype)
            {
            case QuestionTypeNames.radiogrid:
                question = new RadioGridQuestion(json);
                break;

            case QuestionTypeNames.radiolist:
                question = new RadioListQuestion(json);
                break;

            case QuestionTypeNames.checklist:
                question = new CheckListQuestion(json);
                break;

            case QuestionTypeNames.slider:
                question = new SliderQuestion(json);
                break;

            case QuestionTypeNames.field:
                question = new FieldQuestion(json);
                break;

            case QuestionTypeNames.num_field:
                question = new NumFieldQuestion(json);
                break;

            case QuestionTypeNames.multi_field:
                question = new MultiFieldQuestion(json);
                break;

            case QuestionTypeNames.drop_down:
                question = new DropDownQuestion(json);
                break;

            case QuestionTypeNames.textview:
                question = new TextViewQuestion(json);
                break;

            default:
                question = new TextViewQuestion(json);
                break;
            }
            return(question);
        }
コード例 #2
0
        public override void SetQuestion(Question q, UnityAction <Question> answeredEvent, UISkinData skinData)
        {
            base.SetQuestion(q, answeredEvent, skinData);
            sliderQuestion        = question as SliderQuestion;
            instructionsText.text = question.instructions;
            idText.text           = question.id;

            minLabel.text = sliderQuestion.left;
            maxLabel.text = sliderQuestion.right;

            slider.minValue     = sliderQuestion.min_value;
            slider.maxValue     = sliderQuestion.max_value;
            slider.wholeNumbers = question.datatype == QuestionDataType.Integer;
            slider.SetValueWithoutNotify(slider.minValue);
            valueLabel.text = slider.value.ToString();

            slider.onValueChanged.AddListener(OnSliderValueChanged);
            incrementValueButton.onClick.AddListener(IncrementValue);
            decrementValueButton.onClick.AddListener(DecrementValue);

            sliderQuestion.answer = !float.IsNaN(sliderQuestion.min_value) ? sliderQuestion.min_value : 0;
        }