/// <summary> /// Returns the ExperimentData displayed in the design ui. /// </summary> /// <returns>an ExperimentData struct containing the displayed UI.</returns> public ExperimentController.ExperimentSave GetExperimentData() { int questionId = 1; ExperimentController.ExperimentSave experimentData = new ExperimentController.ExperimentSave(); ExperimentController.TrialSave [] experimentTrials = new ExperimentController.TrialSave [TrialDisplayGroup.transform.childCount]; for (int i = 0; i < experimentTrials.Length; i++) { TrialDesignUI designUI = TrialDisplayGroup.transform.GetChild(i).GetComponent <TrialDesignUI> (); experimentTrials [i] = new ExperimentController.TrialSave { TrialType = designUI.TrialType, TrialData = designUI.GetTrialData() }; experimentTrials [i].TrialData.ConditionNumber = i; for (int j = 0; j < experimentTrials [i].TrialData.Questionnaire.Length; j++) { experimentTrials [i].TrialData.Questionnaire [j].QuestionId = questionId; questionId++; } } experimentData.ExperimentTrials = experimentTrials; return(experimentData); }
/// <summary> /// Adds a TrialDesignUI of the specified TrialType to the display. /// </summary> /// <param name="trialType">The type of TrialDesignUI to add.</param> public void AddTrialUI(TrialManager.TrialType trialType) { GameObject trialUIObject = GameObject.Instantiate(TrialUIPrefabs [(int)trialType]); trialUIObject.GetComponent <RectTransform> ().SetParent(TrialDisplayGroup.transform, false); TrialDesignUI designUI = trialUIObject.GetComponent <TrialDesignUI> (); designUI.SetParentUI(this); }
/// <summary> /// Validates the currently displayed experiment. /// </summary> /// <param name="ErrorMessage">Contains detailed error information.</param> /// <returns>True if validated, false otherwise.</returns> public bool Validate(out string ErrorMessage) { bool bIsValid = true; ErrorMessage = ""; foreach (Transform ui in TrialDisplayGroup.transform) { TrialDesignUI designUI = ui.GetComponent <TrialDesignUI> (); if (!designUI.Validate(out ErrorMessage)) { bIsValid = false; break; } } return(bIsValid); }
/// <summary> /// Removes a TrialDesignUI from the listing. /// </summary> /// <param name="trialUI">The UI to remove.</param> public void RemoveTrialUI(TrialDesignUI trialUI) { Destroy(trialUI.gameObject); }