Beispiel #1
0
        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);
 }