protected override void DoWindow(int windowId) { if (m_TimeLine == null) { m_TimeLine = new Timeline(); } EditorGUILayout.BeginVertical(); Rect rect = GUILayoutUtility.GetRect(10f, 32f); EditorGUILayout.EndVertical(); EditorGUI.BeginChangeCheck(); if (windowRect.width > 32f) { List <IDopeElement> l_DopeElements = spriteMeshCache.selectedBlendshape.frames.ToList() .ConvertAll(f => (IDopeElement)BlendShapeFrameDopeElement.Create(f)); m_TimeLine.dopeElements = l_DopeElements; m_TimeLine.FrameRate = 1f; m_TimeLine.Time = spriteMeshCache.blendShapeWeight; m_TimeLine.DoTimeline(rect); } if (EditorGUI.EndChangeCheck()) { spriteMeshCache.blendShapeWeight = Mathf.Clamp(m_TimeLine.Time, 0f, 100f); } }
public static BlendShapeFrameDopeElement Create(BlendShapeFrame frame) { BlendShapeFrameDopeElement element = null; if (frame) { element = new BlendShapeFrameDopeElement(); element.blendShapeFrame = frame; } return(element); }