public override void OnInspectorGUI() { base.OnInspectorGUI(); bool periodicSendFlag = true; bool pauseSendFlag = true; bool pauseOnHeadsetRemoval = true; DataCollectionManager dataManager = (DataCollectionManager)target; if (GUILayout.Button("Configure Manager")) { List <Type> typeList = ConfigurationManager.GetAllEventCollectors(); List <VadrEventCollector> eventCollectors = new List <VadrEventCollector>(); for (int i = 0; i < typeList.Count; i++) { eventCollectors.Add(new VadrEventCollector(typeList[i], false, -1.0f)); } pauseSendFlag = dataManager.pauseSendFlag; periodicSendFlag = dataManager.periodicSendFlag; pauseOnHeadsetRemoval = dataManager.pauseOnHeadsetRemoval; GameObject gameobject = dataManager.gameObject; if (gameobject != null) { for (int i = 0; i < eventCollectors.Count; i++) { IEventCollector collector = gameobject.GetComponent(eventCollectors[i].collector) as IEventCollector; if (collector != null) { eventCollectors[i].enable = true; if ((collector.getTimeInterval() < eventCollectors[i].timeInterval) || (eventCollectors[i].timeInterval < 0)) { eventCollectors[i].timeInterval = collector.getTimeInterval(); } } } } for (int i = 0; i < eventCollectors.Count; i++) { if (eventCollectors[i].timeInterval < 0) { eventCollectors[i].timeInterval = 0.2f; } } ConfigurationManager.Init(ref dataManager, eventCollectors, dataManager.appId, dataManager.appToken, dataManager.testMode, periodicSendFlag, pauseSendFlag, pauseOnHeadsetRemoval); ConfigurationManager.ShowWindow(); } }
/// <summary> /// Setting the configuration window from current parameters /// </summary> static void ShowConfigurationWindow() { string appId = ""; string appToken = ""; bool testMode = true; bool pauseSendFlag = true; bool periodicSendFlag = true; bool pauseOnHeadsetRemoval = true; List <VadrScene> vadrScenes = new List <VadrScene>(); List <Type> typeList = ConfigurationManager.GetAllEventCollectors(); List <VadrEventCollector> eventCollectors = new List <VadrEventCollector>(); for (int i = 0; i < typeList.Count; i++) { eventCollectors.Add(new VadrEventCollector(typeList[i], false, -1.0f)); } UnityEngine.SceneManagement.Scene currentScene = EditorSceneManager.GetActiveScene(); string currentPath = currentScene.path; if (currentPath.Length > 0 || EditorUtility.DisplayDialog("", "You can lose unsaved changes", "Continue", "Cancel")) { float totalScenes = EditorBuildSettings.scenes.Length; float completedScenes = 0; foreach (EditorBuildSettingsScene S in EditorBuildSettings.scenes) { EditorUtility.DisplayProgressBar("Initializing", "Initializing Configuration Manager", completedScenes / totalScenes); completedScenes++; if (S.enabled) { string sceneId = ""; EditorSceneManager.OpenScene(S.path); DataCollectionManager dataManager = UnityEngine.Object.FindObjectOfType <DataCollectionManager>(); if (dataManager != null) { // Prefill App Id and App Token of already present. if (dataManager.sceneId != null) { sceneId = dataManager.sceneId; } if (appId.Length == 0 && dataManager.appId != null) { appId = dataManager.appId; } if (appToken.Length == 0 && dataManager.appToken != null) { appToken = dataManager.appToken; } if (testMode) { testMode = dataManager.testMode; } if (!dataManager.periodicSendFlag) { periodicSendFlag = dataManager.periodicSendFlag; } if (!dataManager.pauseSendFlag) { pauseSendFlag = dataManager.pauseSendFlag; } if (!dataManager.pauseOnHeadsetRemoval) { pauseOnHeadsetRemoval = dataManager.pauseOnHeadsetRemoval; } // Getting already attached event scripts data. GameObject gameobject = dataManager.gameObject; if (gameobject != null) { for (int i = 0; i < eventCollectors.Count; i++) { IEventCollector collector = gameobject.GetComponent(eventCollectors[i].collector) as IEventCollector; if (collector != null) { eventCollectors[i].enable = true; if ((collector.getTimeInterval() < eventCollectors[i].timeInterval) || (eventCollectors[i].timeInterval < 0)) { eventCollectors[i].timeInterval = collector.getTimeInterval(); } } } } } vadrScenes.Add(new VadrScene(S.path, sceneId)); } } for (int i = 0; i < eventCollectors.Count; i++) { if (eventCollectors[i].timeInterval < 0) { eventCollectors[i].timeInterval = 0.2f; } } if (currentPath.Length > 0) { EditorSceneManager.OpenScene(currentPath); } EditorUtility.ClearProgressBar(); ConfigurationManager.Init(vadrScenes, eventCollectors, appId, appToken, testMode, periodicSendFlag, pauseSendFlag, pauseOnHeadsetRemoval); ConfigurationManager.ShowWindow(); } }