public override void OnInspectorGUI() { BigCubeThingCreator targetScript = (BigCubeThingCreator)target; base.OnInspectorGUI(); if (GUILayout.Button("Create new multicube")) { if (EditorUtility.DisplayDialog("Warning", "This will throw away all currently placed cubes under this parent. Continue?", "Continue", "Cancel")) { //Undo.RecordObjects(targetScript.SpawnedCubes.ToArray(), "Create new multicube"); // Causes issues because some spawnedcubes can be null targetScript.NewMulticube(); } } if (GUILayout.Button("Combine mesh")) { //if (EditorUtility.DisplayDialog("Warning", "This will finalize your mesh. Continue?", "Continue", "Cancel")) targetScript.CombineMesh(); } if (GUILayout.Button("Uncombine mesh")) { targetScript.CombineMeshUndo(); } }
public static void CreateMulticubeObject() { GameObject addedObject = new GameObject("New Multicube"); BigCubeThingCreator creator = addedObject.AddComponent <BigCubeThingCreator>(); Selection.activeObject = addedObject; creator.FillAllBlocks(); }