diff options
Diffstat (limited to 'Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Editor/Inspectors/NodeLink2Editor.cs')
-rw-r--r-- | Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Editor/Inspectors/NodeLink2Editor.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Editor/Inspectors/NodeLink2Editor.cs b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Editor/Inspectors/NodeLink2Editor.cs new file mode 100644 index 0000000..13a5a8c --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Editor/Inspectors/NodeLink2Editor.cs @@ -0,0 +1,29 @@ +using Pathfinding; +using UnityEditor; +using UnityEngine; + +namespace Pathfinding { + [CustomEditor(typeof(NodeLink2), true)] + [CanEditMultipleObjects] + public class NodeLink2Editor : EditorBase { + GUIContent HandlerContent = new GUIContent("Handler", "The object that handles movement when traversing the link"); + + protected override void Inspector () { + base.Inspector(); + + var target = this.target as NodeLink2; + if (target.onTraverseOffMeshLink != null) { + var name = target.onTraverseOffMeshLink.name; + if (name == null || name == "") name = target.onTraverseOffMeshLink.GetType().Name; + else name += " → " + target.onTraverseOffMeshLink.GetType().Name; + if (target.onTraverseOffMeshLink is UnityEngine.Component) { + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.ObjectField(HandlerContent, target.onTraverseOffMeshLink as UnityEngine.Object, typeof(UnityEngine.Component), true); + EditorGUI.EndDisabledGroup(); + } else { + EditorGUILayout.LabelField(HandlerContent, name); + } + } + } + } +} |