public override void OnInspectorGUI() { var resetRequired = false; this.serializedObject.Update(); EditorGUILayout.Separator(); var oldUnit = _unit.objectReferenceValue; EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(_unit); EditorGUILayout.PropertyField(_engineType); EditorGUILayout.PropertyField(_moveCost); resetRequired = EditorGUI.EndChangeCheck(); EditorGUILayout.PropertyField(_costInfo); GUI.enabled = !EditorApplication.isPlaying; EditorGUILayout.PropertyField(_initialHeapSize); GUI.enabled = true; EditorGUILayout.Separator(); EditorGUILayout.PropertyField(_stepByStep); EditorGUILayout.PropertyField(_showInstructions); this.serializedObject.ApplyModifiedProperties(); if (resetRequired) { if (!object.ReferenceEquals(oldUnit, _unit.objectReferenceValue)) { QuickStarts.NavigatingUnit(_unit.objectReferenceValue as GameObject, false); } if (EditorApplication.isPlaying) { ((PathFinderVisualizer)this.target).Reset(); } } }
public static void GameWorldMenu() { QuickStarts.GameWorld(null); }