public void DisplayParticipants() { MenuUtils.ClearList(_dynFields); var experimentName = _launchManager.ExperimentName; var s = _log.GetAllSessionsData(experimentName); session_ids = Array.ConvertAll(s[0], int.Parse); participant_ids = s[1]; for (var i = 0; i < session_ids.Length; i++) { var sid = session_ids[i]; var pid = participant_ids[i]; var gObject = GameObjectUtils.InstatiatePrefab("Prefabs/Menus/Lists/EvaluationEntry"); gObject.transform.Find("DetailsButton").GetComponent <Button>().onClick.AddListener(() => { ShowParticipantDetails(sid); }); gObject.transform.Find("RemoveButton").GetComponent <Button>().onClick.AddListener(() => { RemoveEvaluationEntry(sid, pid, gObject); }); MenuUtils.PlaceElement(gObject, _dynFields); gObject.transform.Find("SessionId").GetComponent <Text>().text = sid.ToString(); gObject.transform.Find("ParticipantId").GetComponent <Text>().text = pid; } //creates a map on the second camera //_map.GetComponent<PopUpEvaluationMap>().SetupMaps(envs); }
/// <summary> /// Add elements to the available scenes list. /// </summary> public void UpdateAvailableScenes() { var path = _launchManager.MenuManager.SceneFilePath; var filenames = Directory.GetFiles(path); if (!transform.Find("Panel").Find("KeepScenesButton").Find("Button").GetComponent <Toggle>().isOn) { MenuUtils.ClearList(_availableScenesList); } foreach (var filename in filenames) { //this block is a filter which filters files by the ".unity" or ".xml"-ending(questionnaires) var splittedFilename = filename.Split('.'); var fileType = splittedFilename[splittedFilename.Length - 1]; if (!(fileType.Equals("unity") || fileType.Equals("xml"))) { continue; } //this block adds the data to the menu var filenameObj = GameObjectUtils.InstatiatePrefab("Prefabs/Menus/Lists/AvailableSceneEntry"); MenuUtils.PlaceElement(filenameObj, _availableScenesList); var localFilename = filename; filenameObj.transform.Find("AddButton").GetComponent <Button>().onClick.AddListener(() => { AddToChoosenScenes(localFilename); }); filenameObj.transform.Find("RemoveButton").GetComponent <Button>().onClick.AddListener(() => { Destroy(filenameObj); }); filenameObj.transform.Find("SceneName").GetComponent <Text>().text = RemovePathPrefix(filename); } }
/// <summary> /// Displays all summary information that EVE currently knows. /// </summary> public void DisplayParticipantDetails() { MenuUtils.ClearList(_dynamicField); var envs = _log.GetSceneNames(_launchManager.ExperimentName);// _log.GetListOfEnvironments(_sessionId).Distinct().ToArray(); ; var timeSec = new TimeSpan[envs.Length]; _fields.Find("SessionInformation").Find("SessionId").GetComponent <Text>().text = _sessionId.ToString(); for (var k = 0; k < envs.Length; k++) { var sceneDescription = GameObjectUtils.InstatiatePrefab("Prefabs/Menus/Lists/SceneEntry"); MenuUtils.PlaceElement(sceneDescription, _dynamicField); sceneDescription.transform.Find("SceneInformation").Find("SceneLabel") .GetComponent <Text>().text = "Scene " + k + ":"; sceneDescription.transform.Find("SceneInformation").Find("SceneValue") .GetComponent <Text>().text = envs[k].Name; timeSec[k] = TimeSpan.FromSeconds(0); var times = _log.GetSceneTime(k, _sessionId); if (times[0] != null && times[1] != null) { timeSec[k] = TimeUtils.TimeSpanDifference(times[0], times[1]); } else if (times[0].Length > 0) { timeSec[k] = TimeUtils.TimeSpanDifference(times[0], times[0]); } sceneDescription.transform.Find("Statistics").Find("TimeInformation").Find("TimeValue") .GetComponent <Text>().text = timeSec[k].TotalSeconds.ToString(); var xyzTable = _log.GetPath(_sessionId, k); if (xyzTable[0].Count <= 0) { continue; } var distance = MenuUtils.ComputeParticipantPathDistance(xyzTable); sceneDescription.transform.Find("Statistics").Find("DistanceInformation").Find("DistanceValue") .GetComponent <Text>().text = distance.ToString(); //make replay button var replayButton = sceneDescription.transform.Find("Buttons").Find("ReplayButton").GetComponent <Button>(); var localSceneId = k; var localSceneName = envs[k]; var localSessionId = _sessionId; replayButton.onClick.AddListener(() => Replay(localSessionId, localSceneId, localSceneName.Name)); //make show map button _map = gameObject.GetComponent <PopUpEvaluationMap>(); var showMapButton = sceneDescription.transform.Find("Buttons").Find("ShowMapButton").GetComponent <Button>(); showMapButton.onClick.AddListener(() => ShowMap(localSessionId, localSceneId, localSceneName.Name)); } }
/// <summary> /// Add Elements to the choosen scenes list. /// </summary> public void UpdateChosenScenes() { _launchManager.SynchroniseScenesWithDatabase(); MenuUtils.ClearList(_choosenScenesList); _scenes = _launchManager.ExperimentSettings.SceneSettings.Scenes; foreach (var scene in _scenes) { _menuManager.ActiveSceneId = scene.Name; var filenameObj = GameObjectUtils.InstatiatePrefab("Prefabs/Menus/Lists/ChoosenSceneEntry"); MenuUtils.PlaceElement(filenameObj, _choosenScenesList); filenameObj.transform.Find("SceneName").GetComponent <Text>().text = RemovePathPrefix(scene.Name); filenameObj.transform.Find("MoveUpButton").GetComponent <Button>().onClick.AddListener(() => { MoveUpChoosenSceneEntry(filenameObj); }); filenameObj.transform.Find("EditButton").GetComponent <Button>().onClick.AddListener(() => _menuManager.InstantiateAndShowMenu("Scene Options Menu", "Launcher")); filenameObj.transform.Find("RemoveButton").GetComponent <Button>().onClick.AddListener(() => { RemoveSceneEntry(filenameObj); }); } }
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); }
// Use this for initialization void Start() { _launchManager = GameObject.FindWithTag("LaunchManager").GetComponent <LaunchManager>(); _menuManager = _launchManager.MenuManager; _scenes = new List <SceneEntry>(); _availableScenesList = transform.Find("Panel").Find("SceneSelection").Find("DynFieldsWithScrollbarRight").Find("DynFields"); MenuUtils.ClearList(_availableScenesList); _choosenScenesList = transform.Find("Panel").Find("SceneSelection").Find("DynFieldsWithScrollbarLeft").Find("DynFields"); var fields = transform.Find("Panel").Find("Folder Selection"); fields.Find("FolderAndField").Find("PathField").GetComponent <InputField>().onEndEdit.AddListener(answer => _menuManager.SceneFilePath = answer); fields.Find("FolderAndField").Find("SelectPathButton").GetComponent <Button>().onClick.AddListener(OpenFolder); fields.Find("BackButton").GetComponent <Button>().onClick.AddListener(() => _menuManager.InstantiateAndShowMenu("Configuration Menu", "Launcher")); UpdateAvailableScenes(); UpdateChosenScenes(); }
/// <summary> /// Display the current list of sensors. /// </summary> public void DisplaySensorList() { MenuUtils.ClearList(_dynFields); if (_launchManager.SessionId < 0) { return; } var sensors = _log.GetSensors(); if (sensors.Contains("Labchart")) { _labchartButton.isOn = true; sensors.Remove("Labchart"); } if (sensors.Contains("HL7Server")) { _hl7ServerButton.isOn = true; sensors.Remove("HL7Server"); } if (sensors.Contains("MiddleVR")) { _middleVRButton.isOn = true; sensors.Remove("MiddleVR"); } foreach (var sensorName in sensors) { var sensorDisplay = GameObjectUtils.InstatiatePrefab("Prefabs/Menus/Lists/SensorEntry"); sensorDisplay.transform.Find("RemoveSensor").GetComponent <Button>().onClick.AddListener(() => { RemoveSensor(sensorDisplay); }); MenuUtils.PlaceElement(sensorDisplay, _dynFields); sensorDisplay.transform.Find("SensorName").GetComponent <Text>().text = sensorName; } _launchManager.SynchroniseSensorsWithDatabase(); }
public void DisplaySessionParameters() { MenuUtils.ClearList(_dynamicField); var experimentParameters = _menuManager.ExperimentParameterList; foreach (var experimentParameter in experimentParameters) { var gObject = GameObjectUtils.InstatiatePrefab("Prefabs/Menus/Lists/EditableSessionParameter"); gObject.GetComponentInChildren <InputField>().onEndEdit.AddListener((text) => { StoreSessionParameter(experimentParameter, text); }); MenuUtils.PlaceElement(gObject, _dynamicField); gObject.transform.Find("FieldName").GetComponent <Text>().text = experimentParameter; if (_launchManager.SessionParameters.ContainsKey(experimentParameter)) { gObject.transform.Find("InputField").Find("Placeholder").GetComponent <Text>().text = _launchManager.SessionParameters[experimentParameter]; } } }
public void DisplayExperimentParameters() { MenuUtils.ClearList(_dynamicField); var experimentParameters = _menuManager.ExperimentParameterList; foreach (var experimentParameter in experimentParameters) { var gObject = GameObjectUtils.InstatiatePrefab("Prefabs/Menus/Lists/ExperimentParameterEntry"); MenuUtils.PlaceElement(gObject, _dynamicField); gObject.transform.Find("FieldName").GetComponent <Text>().text = experimentParameter; if (_launchManager.SessionParameters.ContainsKey(experimentParameter)) { gObject.transform.Find("InputField").Find("Placeholder").GetComponent <Text>().text = _launchManager.SessionParameters[experimentParameter]; } gObject.transform.Find("RemoveButton").GetComponent <Button>().onClick.AddListener(() => { RemoveExperimentParameter(gObject); }); } }