コード例 #1
0
    /// <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);
    }
コード例 #2
0
    /// <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);
    }
コード例 #3
0
    /// <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);
    }
コード例 #4
0
 /// <summary>
 /// Removes a TrialDesignUI from the listing.
 /// </summary>
 /// <param name="trialUI">The UI to remove.</param>
 public void RemoveTrialUI(TrialDesignUI trialUI)
 {
     Destroy(trialUI.gameObject);
 }