public override void OnInspectorGUI() { EditorGUI.BeginChangeCheck(); GUILayout.Label("Map settings"); wfc.Size = EditorGUILayout.Vector3IntField("Map size", wfc.Size); wfc.SlotSize = EditorGUILayout.IntField("Slot size", wfc.SlotSize); EditorGUILayout.BeginFoldoutHeaderGroup(true, "Up"); p_UpConnectors.arraySize = EditorGUILayout.IntField("size", p_UpConnectors.arraySize); for (int i = 0; i < p_UpConnectors.arraySize; i++) { EditorGUILayout.PropertyField(p_UpConnectors.GetArrayElementAtIndex(i), new GUIContent("connector")); } EditorGUILayout.EndFoldoutHeaderGroup(); EditorGUILayout.BeginFoldoutHeaderGroup(true, "Down"); p_DownConnectors.arraySize = EditorGUILayout.IntField("Down size", p_DownConnectors.arraySize); for (int i = 0; i < p_DownConnectors.arraySize; i++) { EditorGUILayout.PropertyField(p_DownConnectors.GetArrayElementAtIndex(i), new GUIContent("connector")); } EditorGUILayout.EndFoldoutHeaderGroup(); EditorGUILayout.BeginFoldoutHeaderGroup(true, "Horizontal"); p_HorizontalConnectors.arraySize = EditorGUILayout.IntField("Down size", p_HorizontalConnectors.arraySize); for (int i = 0; i < p_HorizontalConnectors.arraySize; i++) { EditorGUILayout.PropertyField(p_HorizontalConnectors.GetArrayElementAtIndex(i), new GUIContent("connector")); } EditorGUILayout.EndFoldoutHeaderGroup(); GUILayout.Label("Prototypes"); wfc.SceneLoader = (GameObject)EditorGUILayout.ObjectField("Prototypes", wfc.SceneLoader, typeof(GameObject), false); if (GUILayout.Button("Reload Prototypes")) { LoadPrototypes(); } if (GUILayout.Button("Generate map")) { Debug.Log("Removing children"); wfc.ClearChildren(); Debug.Log("Start generate map"); wfc.StartGeneration(); } if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); } }