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); }
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); } }