/// <summary> /// Update currently used session parameters. /// </summary> /// <param name="sessionParameter">Name of parameter.</param> /// <param name="value">Value to be assumed.</param> public void ChangeSessionsParameter(string sessionParameter, string value) { if (SessionParameters.ContainsKey(sessionParameter)) { SessionParameters.Remove(sessionParameter); } SessionParameters.Add(sessionParameter, value); }
/// <summary> /// Start experiment and checks errors. /// </summary> /// <remarks> /// The part with the logsessionparameters is from the old implementation and is not suited for everchanging sensors /// </remarks> public void StartExperiment() { _participantId = MenuManager.ParticipantId; if (string.IsNullOrEmpty(_participantId)) { MenuManager.DisplayErrorMessage("The Subject ID is invalid!", "Experiment Menu", "Launcher"); } else { SynchroniseScenesWithDatabase(); var sceneList = ExperimentSettings.SceneSettings.Scenes; Console.Write(sceneList.Count); var nParameters = MenuManager.ExperimentParameterList.Count; if (sceneList.Count <= 0) { MenuManager.DisplayErrorMessage("No scenes selected!", "Scene Configuration", "Launcher"); } else { if (SessionParameters.Count != nParameters) { MenuManager.DisplayErrorMessage("Session parameters are not set.", "Session Parameters Menu", "Launcher"); } else { LoggingManager.LogSession(ExperimentSettings.Name, _participantId); if (SessionParameters.ContainsKey("Labchart File Name")) { LoggingManager.SetLabChartFilePath(SessionParameters["Labchart File Name"]); } if (LoggingManager.GetSensors().Contains("HL7Server")) { this.gameObject.GetComponent <HL7ServerStarter>().enabled = true; } StoreSessionParameters(); MenuManager.InstantiateAndShowMenu("Start Menu", "Launcher"); //var startBaseMenu = GameObject.Find("Start Menu").GetComponent<BaseMenu>(); //MenuManager.ShowMenu(startBaseMenu); } } } }