ProjectDDD/Packages/com.arongranberg.astar/Editor/Inspectors/NodeLink2Editor.cs
2025-07-08 19:46:31 +09:00

30 lines
1.0 KiB
C#

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);
}
}
}
}
}