48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
|
using System;
|
||
|
using UnityEngine;
|
||
|
using UnityEngine.UIElements;
|
||
|
|
||
|
namespace UnityEditor.U2D.Animation
|
||
|
{
|
||
|
internal class WeightInspectorIMGUIPanel : VisualElement
|
||
|
{
|
||
|
public class CustomUXMLFactor : UxmlFactory<WeightInspectorIMGUIPanel, UxmlTraits> {}
|
||
|
private WeightInspector m_WeightInspector = new WeightInspector();
|
||
|
|
||
|
public WeightInspector weightInspector
|
||
|
{
|
||
|
get { return m_WeightInspector; }
|
||
|
}
|
||
|
|
||
|
public event Action weightsChanged = () => {};
|
||
|
|
||
|
public WeightInspectorIMGUIPanel()
|
||
|
{
|
||
|
name = "WeightInspectorIMGUIPanel";
|
||
|
styleSheets.Add(ResourceLoader.Load<StyleSheet>("SkinningModule/WeightInspectorIMGUIPanelStyle.uss"));
|
||
|
|
||
|
this.Add(new IMGUIContainer(OnGUI));
|
||
|
this.pickingMode = PickingMode.Ignore;
|
||
|
this.RegisterCallback<MouseDownEvent>((e) => { e.StopPropagation(); });
|
||
|
this.RegisterCallback<MouseUpEvent>((e) => { e.StopPropagation(); });
|
||
|
}
|
||
|
|
||
|
protected void OnGUI()
|
||
|
{
|
||
|
var selectionCount = 0;
|
||
|
|
||
|
if (weightInspector.selection != null)
|
||
|
selectionCount = weightInspector.selection.Count;
|
||
|
|
||
|
using (new EditorGUI.DisabledGroupScope(m_WeightInspector.spriteMeshData == null || selectionCount == 0))
|
||
|
{
|
||
|
GUILayout.Label(new GUIContent(TextContent.vertexWeight, TextContent.vertexWeightToolTip));
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
m_WeightInspector.OnInspectorGUI();
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
weightsChanged();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|