static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { // Construct new BridgeEngineScene GameObject if we just imported it. foreach (var assetPath in importedAssets) { if (assetPath == BEScene.ImportFolderPath() && BridgeEngineUnity.IsInScene() && (BEScene.IsInScene() == false)) { BEScene.CreateNewBridgeEngineScene(); break; } } // Clean-up if we removed the BridgeEngineScene. foreach (var assetPath in deletedAssets) { if (assetPath == BEScene.ImportFolderPath() && BridgeEngineUnity.IsInScene() && BEScene.IsInScene()) { Debug.Log("Removing " + BEScene.gameObjectName + " from Hierarchy"); GameObject beScene = GameObject.Find(BEScene.gameObjectName); if (beScene) { GameObject.DestroyImmediate(beScene); break; } } } }
/// Add an inspector header that manages the BridgeEngineScene folder import. public override void OnInspectorGUI() { if (Directory.Exists("Assets/BridgeEngineScene") == false) { if (BEScene.ImportFolderExists() == false) { EditorGUILayout.HelpBox("You can import your own BridgeEngineScene folder. Use a sample app, scan a space, and use iTunes to copy the BridgeEngineScene folder onto your desktop. Then import it to Unity for quicker testing.", MessageType.Info, true); if (GUILayout.Button("Import BridgeEngineScene folder...")) { ImportBridgeEngineSceneFolder(); } } else { EditorGUILayout.HelpBox("Editor/Resources/ImportedBridgeEngineScene is present", MessageType.None, true); if (BEScene.IsInScene() == false && GUILayout.Button("Rebuild " + BEScene.gameObjectName)) { BEScene.CreateNewBridgeEngineScene(); } if (GUILayout.Button("Remove Imported BridgeEngineScene")) { RemoveBridgeEngineSceneFolder(); } } } else { EditorGUILayout.HelpBox("BridgeEngineScene needs to be imported into the correct place.", MessageType.Info, true); if (GUILayout.Button("Import BridgeEngineScene folder...")) { MoveBridgeEngineSceneFolder(); } } EditorGUILayout.Space(); base.OnInspectorGUI(); }