summaryrefslogtreecommitdiff
path: root/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Editor/Inspectors/NodeLink2Editor.cs
diff options
context:
space:
mode:
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.cs29
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);
+ }
+ }
+ }
+ }
+}