39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
using UnityEditor;
|
|
|
|
namespace Pathfinding {
|
|
[CustomEditor(typeof(RaycastModifier))]
|
|
[CanEditMultipleObjects]
|
|
public class RaycastModifierEditor : EditorBase {
|
|
protected override void Inspector () {
|
|
PropertyField("quality");
|
|
|
|
if (PropertyField("useRaycasting", "Use Physics Raycasting")) {
|
|
EditorGUI.indentLevel++;
|
|
|
|
PropertyField("use2DPhysics");
|
|
if (PropertyField("thickRaycast")) {
|
|
EditorGUI.indentLevel++;
|
|
FloatField("thickRaycastRadius", min: 0f);
|
|
EditorGUI.indentLevel--;
|
|
}
|
|
|
|
PropertyField("raycastOffset");
|
|
PropertyField("mask", "Layer Mask");
|
|
EditorGUI.indentLevel--;
|
|
}
|
|
|
|
PropertyField("useGraphRaycasting");
|
|
if (!FindProperty("useGraphRaycasting").boolValue && !FindProperty("useRaycasting").boolValue) {
|
|
EditorGUILayout.HelpBox("You should use either raycasting, graph raycasting or both, otherwise this modifier will not do anything", MessageType.Warning);
|
|
}
|
|
|
|
if (FindProperty("useGraphRaycasting").boolValue && !FindProperty("useRaycasting").boolValue) {
|
|
AstarPath.FindAstarPath();
|
|
if (AstarPath.active != null && AstarPath.active.data.gridGraph != null) {
|
|
EditorGUILayout.HelpBox("For grid graphs, when using only graph raycasting the funnel modifier has superceded this modifier. Try using that instead. It's faster and more accurate.", MessageType.Warning);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|