summaryrefslogtreecommitdiff
path: root/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/Editor/Inspectors/NodeLink2Editor.cs
blob: 13a5a8cb1d9ad7532e3cebb6f4e5537c96fd1159 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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);
				}
			}
		}
	}
}