2023-04-24 15:49:03 +02:00

46 lines
1.2 KiB
C#

using UnityEngine;
using UnityEditor;
namespace Pathfinding {
[CustomEditor(typeof(SimpleSmoothModifier))]
[CanEditMultipleObjects]
public class SmoothModifierEditor : EditorBase {
protected override void Inspector () {
var smoothType = FindProperty("smoothType");
PropertyField("smoothType");
if (!smoothType.hasMultipleDifferentValues) {
switch ((SimpleSmoothModifier.SmoothType)smoothType.enumValueIndex) {
case SimpleSmoothModifier.SmoothType.Simple:
if (PropertyField("uniformLength")) {
FloatField("maxSegmentLength", min: 0.005f);
} else {
IntSlider("subdivisions", 0, 6);
}
PropertyField("iterations");
ClampInt("iterations", 0);
PropertyField("strength");
break;
case SimpleSmoothModifier.SmoothType.OffsetSimple:
PropertyField("iterations");
ClampInt("iterations", 0);
FloatField("offset", min: 0f);
break;
case SimpleSmoothModifier.SmoothType.Bezier:
IntSlider("subdivisions", 0, 6);
PropertyField("bezierTangentLength");
break;
case SimpleSmoothModifier.SmoothType.CurvedNonuniform:
FloatField("maxSegmentLength", min: 0.005f);
PropertyField("factor");
break;
}
}
}
}
}