public override void OnInspectorGUI() { BoundingBoxTarget bbt = (BoundingBoxTarget)target; // See if there's a bounding box yet BoundingBoxManipulate bbm = GameObject.FindObjectOfType <BoundingBoxManipulate>(); ManipulationToolbar toolbar = GameObject.FindObjectOfType <ManipulationToolbar>(); if (bbm == null || toolbar == null) { HUXEditorUtils.ErrorMessage( "Couldn't find a bounding box prefab and/or manipulation toolbar in the scene. Bounding box target won't work without them.", AddBoundingBox); } HUXEditorUtils.DrawFilterTagField(serializedObject, "TagOnSelected"); HUXEditorUtils.DrawFilterTagField(serializedObject, "TagOnDeselected"); bbt.PermittedOperations = (BoundingBoxManipulate.OperationEnum)HUXEditorUtils.EnumCheckboxField <BoundingBoxManipulate.OperationEnum>( "Permitted Operations", bbt.PermittedOperations, "Default", BoundingBoxManipulate.OperationEnum.ScaleUniform | BoundingBoxManipulate.OperationEnum.RotateY | BoundingBoxManipulate.OperationEnum.Drag, BoundingBoxManipulate.OperationEnum.Drag); bbt.ManipulationDisplay = (ManipulationToolbar.DisplayEnum)EditorGUILayout.EnumPopup("Toolbar Display", bbt.ManipulationDisplay); HUXEditorUtils.SaveChanges(bbt); }
private void AddBoundingBox() { BoundingBoxManipulate bbm = GameObject.FindObjectOfType <BoundingBoxManipulate>(); ManipulationToolbar toolbar = GameObject.FindObjectOfType <ManipulationToolbar>(); if (bbm == null) { Object prefab = AssetDatabase.LoadAssetAtPath(BoundingBoxPrefabPath, typeof(GameObject)); GameObject clone = PrefabUtility.InstantiatePrefab(prefab) as GameObject; clone.name = prefab.name; } if (toolbar == null) { Object prefab = AssetDatabase.LoadAssetAtPath(ToolbarPrefabPath, typeof(GameObject)); GameObject clone = PrefabUtility.InstantiatePrefab(prefab) as GameObject; clone.name = prefab.name; } }