public void Setup(int index, string question, QuestionnairePanel parent, bool dropdown, string[] dropdownOptions, bool forceCompletion) { ForceCompletion = forceCompletion; this.parent = parent; Prompt = question; Index = index; QuestionText.text = (index + 1) + ". " + question; if (!dropdown) { MyInputField.gameObject.SetActive(true); MyDropdown.gameObject.SetActive(false); MyInputField.onEndEdit.AddListener(delegate { TrialFinished(MyInputField.text); }); } else { MyInputField.gameObject.SetActive(false); MyDropdown.gameObject.SetActive(true); MyDropdown.options.Add(new Dropdown.OptionData("")); foreach (string s in dropdownOptions) { MyDropdown.options.Add(new Dropdown.OptionData(s)); } // MyDropdown.One.AddListener(delegate { TrialFinished(MyDropdown.options[MyDropdown.value].text); }); MyDropdown.onValueChanged.AddListener(delegate { TrialFinished(MyDropdown.value); }); } if (forceCompletion) { ForceCompletionText.gameObject.SetActive(true); } else { ForceCompletionText.gameObject.SetActive(false); } Tick.gameObject.SetActive(false); RectTransform r = (RectTransform)this.transform; r.localScale = Vector3.one; layout = GetComponent <LayoutElement>(); }
void OnGUI() { GUILayout.Label("General Parameters", EditorStyles.boldLabel); questionnaireName = EditorGUILayout.TextField("Questionnaire name", questionnaireName); numberOfQuestions = EditorGUILayout.IntSlider("Number of questions", numberOfQuestions, 1, 50); while (questions.Count < numberOfQuestions) { Question q = new Question(); questions.Add(q); } while (questions.Count > numberOfQuestions) { questions.RemoveAt(questions.Count - 1); } GUILayout.Label("Questions", EditorStyles.boldLabel); foreach (Question q in questions) { EditorGUILayout.BeginHorizontal(); q.prompt = EditorGUILayout.TextField("Question", q.prompt); if (!q.textbox) { string qoptions = ""; foreach (string s in q.options) { qoptions += s; qoptions += ","; } qoptions = EditorGUILayout.TextField("Multiple choice options", qoptions); q.options = qoptions.Split(",".ToCharArray(), System.StringSplitOptions.RemoveEmptyEntries); } q.textbox = EditorGUILayout.Toggle("Text input", q.textbox); q.forceCompletion = EditorGUILayout.Toggle("Force completion", q.forceCompletion); EditorGUILayout.EndHorizontal(); } if (GUILayout.Button("Create questionnaire")) { GameObject questionnaire = (PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath("Assets/TestTube/Quick UI/Panels/Questionnaire Panel.prefab", typeof(GameObject)) as GameObject)) as GameObject; questionnaire.transform.SetParent(GameObject.Find("Blank UI").transform); QuestionnairePanel qPanel = questionnaire.GetComponent <QuestionnairePanel>(); qPanel.Questions = questions.ToArray(); qPanel.name = questionnaireName; qPanel.QuestionnaireTitle = questionnaireName; RectTransform r = ((RectTransform)questionnaire.transform); r.localPosition = Vector2.zero; r.localScale = Vector3.one; r.offsetMax = Vector2.zero; r.offsetMin = Vector2.zero; } }