1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using UnityEngine;
- namespace UnityEditor.Timeline
- {
- static class TimeIndicator
- {
- static readonly Tooltip s_Tooltip = new Tooltip(DirectorStyles.Instance.displayBackground, DirectorStyles.Instance.tinyFont);
- public static void Draw(WindowState state, double time)
- {
- var bounds = state.timeAreaRect;
- bounds.xMin = Mathf.Max(bounds.xMin, state.TimeToTimeAreaPixel(time));
- using (new GUIViewportScope(state.timeAreaRect))
- {
- s_Tooltip.text = TimeReferenceUtility.ToTimeString(time);
- var tooltipBounds = s_Tooltip.bounds;
- tooltipBounds.xMin = bounds.xMin - (tooltipBounds.width / 2.0f);
- tooltipBounds.y = bounds.y;
- s_Tooltip.bounds = tooltipBounds;
- if (time >= 0)
- s_Tooltip.Draw();
- }
- if (time >= 0)
- {
- Graphics.DrawLineAtTime(state, time, Color.black, true);
- }
- }
- public static void Draw(WindowState state, double start, double end)
- {
- var bounds = state.timeAreaRect;
- bounds.xMin = Mathf.Max(bounds.xMin, state.TimeToTimeAreaPixel(start));
- bounds.xMax = Mathf.Min(bounds.xMax, state.TimeToTimeAreaPixel(end));
- var color = DirectorStyles.Instance.selectedStyle.focused.textColor;
- color.a = 0.12f;
- EditorGUI.DrawRect(bounds, color);
- Draw(state, start);
- Draw(state, end);
- }
- }
- }
|