protected override void ApplySettings() { if (Values[SceneSetting.AddMixedRealityCamera]) { Instantiate(AssetDatabase.LoadAssetAtPath <GameObject>(AssetDatabase.GUIDToAssetPath(CameraPrefabGUID))); } var mainCamera = CameraCache.Refresh(Camera.main); if (mainCamera == null) { Debug.LogWarning("Could not find a valid \"MainCamera\"! Unable to update camera position."); } else { if (Values[SceneSetting.CameraToOrigin]) { mainCamera.transform.position = Vector3.zero; } } Close(); }
protected override void ApplySettings() { if (Values[SceneSetting.AddMixedRealityCamera]) { if (CameraCache.Main != null) { DestroyImmediate(CameraCache.Main.gameObject.GetParentRoot()); } PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath <GameObject>(AssetDatabase.GUIDToAssetPath(CameraPrefabGUID))); } if (Values[SceneSetting.CameraToOrigin]) { var mainCamera = CameraCache.Refresh(Camera.main); if (mainCamera == null) { Debug.LogWarning("Could not find a valid \"MainCamera\"! Unable to update camera position."); } else { mainCamera.transform.position = Vector3.zero; } } if (Values[SceneSetting.AddInputSystem]) { var inputManager = FindObjectOfType <InputManager>(); if (inputManager != null) { DestroyImmediate(inputManager.gameObject); } var eventSystems = FindObjectsOfType <EventSystem>(); foreach (var eventSystem in eventSystems) { DestroyImmediate(eventSystem.gameObject); } var inputModules = FindObjectsOfType <StandaloneInputModule>(); foreach (var inputModule in inputModules) { DestroyImmediate(inputModule.gameObject); } PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath <GameObject>(AssetDatabase.GUIDToAssetPath(InputSystemPrefabGUID))); Values[SceneSetting.UpdateCanvases] = true; } if (Values[SceneSetting.UpdateCanvases]) { var focusManager = FindObjectOfType <FocusManager>(); if (focusManager != null) { FocusManager.Instance.UpdateCanvasEventSystems(); } var sceneCanvases = Resources.FindObjectsOfTypeAll <Canvas>(); foreach (Canvas canvas in sceneCanvases) { var helper = canvas.EnsureComponent <CanvasHelper>(); helper.Canvas = canvas; } } if (Values[SceneSetting.AddDefaultCursor]) { var cursors = FindObjectsOfType <Cursor>(); foreach (var cursor in cursors) { DestroyImmediate(cursor.gameObject.GetParentRoot()); } PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath <GameObject>(AssetDatabase.GUIDToAssetPath(DefaultCursorPrefabGUID))); FindObjectOfType <InputManager>().GetComponent <SimpleSinglePointerSelector>().Cursor = FindObjectOfType <Cursor>(); } if (Values[SceneSetting.AddSpatialMapping]) { var spatialMappingManagers = FindObjectsOfType <SpatialMappingManager>(); if (spatialMappingManagers.Length > 0) { Debug.LogWarning("There's already a SpatialMappingManager in the scene. Did not add the SpatialMapping prefab."); } else { PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath <GameObject>(AssetDatabase.GUIDToAssetPath(SpatialMappingPrefabGUID))); } } EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene()); Close(); }
protected override void ApplySettings() { if (Values[SceneSetting.AddMixedRealityCamera]) { if (CameraCache.Main != null) { DestroyImmediate(CameraCache.Main.gameObject.GetParentRoot()); } PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath <GameObject>(AssetDatabase.GUIDToAssetPath(CameraPrefabGUID))); } var mainCamera = CameraCache.Refresh(Camera.main); if (mainCamera == null) { Debug.LogWarning("Could not find a valid \"MainCamera\"! Unable to update camera position."); } else { if (Values[SceneSetting.CameraToOrigin]) { mainCamera.transform.position = Vector3.zero; } } if (Values[SceneSetting.AddInputSystem]) { var inputManager = FindObjectOfType <InputManager>(); if (inputManager != null) { DestroyImmediate(inputManager.gameObject); } var eventSystems = FindObjectsOfType <EventSystem>(); foreach (var eventSystem in eventSystems) { DestroyImmediate(eventSystem.gameObject); } var inputModules = FindObjectsOfType <StandaloneInputModule>(); foreach (var inputModule in inputModules) { DestroyImmediate(inputModule.gameObject); } PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath <GameObject>(AssetDatabase.GUIDToAssetPath(InputSystemPrefabGUID))); FocusManager.Instance.UpdateCanvasEventSystems(); } if (Values[SceneSetting.AddDefaultCursor]) { var cursors = FindObjectsOfType <Cursor>(); foreach (var cursor in cursors) { DestroyImmediate(cursor.gameObject.GetParentRoot()); } PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath <GameObject>(AssetDatabase.GUIDToAssetPath(DefaultCursorPrefabGUID))); FindObjectOfType <InputManager>().GetComponent <SimpleSinglePointerSelector>().Cursor = FindObjectOfType <Cursor>(); } EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene()); Close(); }