From 8722a9920c1f6119bf6e769cba270e63097f8e25 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Thu, 23 May 2024 10:08:29 +0800 Subject: + astar project --- .../Editor/Inspectors/NodeLink2Editor.cs | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Editor/Inspectors/NodeLink2Editor.cs (limited to 'Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Editor/Inspectors/NodeLink2Editor.cs') 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); + } + } + } + } +} -- cgit v1.1-26-g67d0