You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

BrainEditor.cs 1.3KB

123456789101112131415161718192021222324252627282930313233343536
  1. using UnityEngine;
  2. using UnityEditor;
  3. namespace MLAgents
  4. {
  5. /// <summary>
  6. /// CustomEditor for the Brain base class. Defines the default Inspector view for a Brain.
  7. /// Shows the BrainParameters of the Brain and expose a tool to deep copy BrainParameters
  8. /// between brains.
  9. /// </summary>
  10. [CustomEditor(typeof(Brain))]
  11. public class BrainEditor : Editor
  12. {
  13. public override void OnInspectorGUI()
  14. {
  15. var brain = (Brain) target;
  16. var brainToCopy = EditorGUILayout.ObjectField(
  17. "Copy Brain Parameters from : ", null, typeof(Brain), false) as Brain;
  18. if (brainToCopy != null)
  19. {
  20. brain.brainParameters = brainToCopy.brainParameters.Clone();
  21. EditorUtility.SetDirty(brain);
  22. AssetDatabase.SaveAssets();
  23. return;
  24. }
  25. var serializedBrain = serializedObject;
  26. serializedBrain.Update();
  27. EditorGUILayout.PropertyField(serializedBrain.FindProperty("brainParameters"), true);
  28. serializedBrain.ApplyModifiedProperties();
  29. // Draws a horizontal thick line
  30. EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
  31. }
  32. }
  33. }