示例#1
0
        public void Visit(VisualStimuli q)
        {
            Cursor.lockState   = CursorLockMode.Locked;
            Cursor.visible     = false;
            _lastValidQuestion = _currentQuestion + 1;
            var qmb = _questionPlaceholder.GetComponent <QuestionMenuButtons>();

            qmb.DeactivateQuestionControlButtons();
            qmb.DeactivateQuestionName();
            MenuUtils.ClearList(_questionContent);

            var rep = _questionContent.gameObject.AddComponent <Representations.VisualStimuli>();

            rep.Question = q;

            _questionContent.GetComponent <RectTransform>().sizeDelta = _launchManager.ExperimentSettings.UISettings.ReferenceResolution;

            var fixationScreen = GameObjectUtils.InstatiatePrefab("Prefabs/Questionnaire/VisualStimuli/Fixation");

            MenuUtils.PlaceElement(fixationScreen, _questionContent);
            fixationScreen.SetActive(false);
            rep.FixationSceen = fixationScreen;
            var decisionScreen = GameObjectUtils.InstatiatePrefab("Prefabs/Questionnaire/VisualStimuli/Decision");

            MenuUtils.PlaceElement(decisionScreen, _questionContent);
            decisionScreen.SetActive(false);
            rep.DecisionScreen = decisionScreen;
            decisionScreen.GetComponentInChildren <Text>().text = q.Text;
            var expositionScreen = GameObjectUtils.InstatiatePrefab("Prefabs/Questionnaire/VisualStimuli/Exposition");

            MenuUtils.PlaceElement(expositionScreen, _questionContent);
            expositionScreen.SetActive(false);
            rep.ExpositionScreen = expositionScreen;

            expositionScreen.transform.Find("Screen").GetComponent <RectTransform>().sizeDelta = _launchManager.ExperimentSettings.UISettings.ReferenceResolution;

            _questionContent.gameObject.SetActive(true);

            _questionContent.GetComponent <VerticalLayoutGroup>().childAlignment = TextAnchor.MiddleCenter;

            rep.InitialiseRepresentation(this);
        }
示例#2
0
        public void LoadFromDatabase(LoggingManager log)
        {
            var qDataList = log.GetQuestionSetContent(Name);

            foreach (var questionData in qDataList)
            {
                Question q;
                switch ((Enums.Question)questionData.QuestionType)
                {
                case Enums.Question.Info:
                    q = new InfoScreen(questionData);
                    break;

                case Enums.Question.Text:
                    q = new TextQuestion(questionData);
                    break;

                case Enums.Question.Choice:
                    q = new ChoiceQuestion(questionData);
                    break;

                case Enums.Question.Scale:
                    q = new ScaleQuestion(questionData);
                    break;

                case Enums.Question.Ladder:
                    q = new LadderQuestion(questionData);
                    break;

                case Enums.Question.Stimuli:
                    q = new VisualStimuli(questionData);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
                q.Jumps = log.GetJumps(questionData);
                Questions.Add(q);
            }
        }