示例#1
0
        /// <summary>
        /// Loads the scene to be loaded next.
        /// </summary>
        /// <remarks>
        /// The function call hides the fact that some scenes are within the
        /// main scene.
        /// </remarks>
        public void LoadCurrentScene()
        {
            SynchroniseScenesWithDatabase();
            var scene = ExperimentSettings.SceneSettings.Scenes[_currentScene].Name;

            if (scene.Contains(".xml"))
            {
                QuestionnaireName = scene.Split('.')[0];

                LoggingManager.CreateUserAnswer(LoggingManager.CurrentSessionId, QuestionnaireName);
                LoggingManager.SetQuestionnaireName(QuestionnaireName);

                scene = "Questionnaire";
            }
            switch (scene)
            {
            case "LabchartStartScene":
                _configureLabchart = true;
                MenuManager.InstantiateAndShowMenu("Configure Labchart Menu", "Launcher");
                ManualContinueToNextScene();
                break;

            case "Questionnaire":
                _inQuestionnaire             = true;
                Cursor.lockState             = CursorLockMode.None;
                Cursor.visible               = true;
                QuestionnaireManager.enabled = true;
                QuestionnaireManager.DisplayQuestionnaire();
                ManualContinueToNextScene();
                break;

            default:
                SceneManager.LoadScene(scene);
                break;
            }
        }