public void AvatarTimeControlGUI(Rect rect) { const float kSliderWidth = 150f; const float kSpacing = 4f; Rect timeControlRect = rect; // background GUI.Box(rect, GUIContent.none, EditorStyles.toolbar); timeControlRect.height = kTimeControlRectHeight; timeControlRect.xMax -= kSliderWidth; Rect sliderControlRect = rect; sliderControlRect.height = kTimeControlRectHeight; sliderControlRect.yMin += 1; sliderControlRect.yMax -= 1; sliderControlRect.xMin = sliderControlRect.xMax - kSliderWidth + kSpacing; timeControl.DoTimeControl(timeControlRect); timeControl.playbackSpeed = PreviewSlider(sliderControlRect, timeControl.playbackSpeed, 0.03f); // Show current time in seconds:frame and in percentage rect.y = rect.yMax - 24; float time = timeControl.currentTime - timeControl.startTime; EditorGUI.DropShadowLabel(new Rect(rect.x, rect.y, rect.width, 20), string.Format("{0,2}:{1:00} ({2:000.0%}) Frame {3}", (int)time, Repeat(Mathf.FloorToInt(time * fps), fps), timeControl.normalizedTime, Mathf.FloorToInt(timeControl.currentTime * fps)) ); }
private void OnGUI() { _timeControl.DoTimeControl(TIME_RECR); if (Event.current.type == EventType.Repaint) { _timeControl.Update(); } Repaint(); }