You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

40 lines
1.3 KiB

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