示例#1
0
        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();
 }