RoboticArms/Library/PackageCache/com.unity.splines@d3e1e500c9a0/Editor/GUI/Editors/CommonElementDrawer.cs
2025-11-17 15:16:36 +07:00

41 lines
1.3 KiB
C#

namespace UnityEditor.Splines
{
sealed class CommonElementDrawer : ElementDrawer<ISelectableElement>
{
readonly TangentModePropertyField<ISelectableElement> m_Mode;
readonly BezierTangentPropertyField<ISelectableElement> m_BezierMode;
public CommonElementDrawer()
{
Add(m_Mode = new TangentModePropertyField<ISelectableElement>());
m_Mode.changed += () => { m_BezierMode.Update(targets); };
Add(m_BezierMode = new BezierTangentPropertyField<ISelectableElement>());
m_BezierMode.changed += () => { m_Mode.Update(targets); };
}
public override void Update()
{
base.Update();
m_Mode.Update(targets);
m_BezierMode.Update(targets);
}
public override string GetLabelForTargets()
{
int knotCount = 0;
int tangentCount = 0;
for (int i = 0; i < targets.Count; ++i)
{
if (targets[i] is SelectableKnot)
++knotCount;
else if (targets[i] is SelectableTangent)
++tangentCount;
}
return $"<b>({knotCount}) Knots</b>, <b>({tangentCount}) Tangents</b> selected";
}
}
}