123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- using System;
- using System.Collections.Generic;
- using UnityEngine.Timeline;
- using UnityEngine;
-
- namespace UnityEditor.Timeline
- {
- static class ItemToItemGui
- {
- static Dictionary<object, TimelineItemGUI> s_ItemToItemGUI =
- new Dictionary<object, TimelineItemGUI>();
-
- public static void Add(TimelineClip clip, TimelineItemGUI gui)
- {
- s_ItemToItemGUI[clip] = gui;
- }
-
- public static void Add(IMarker marker, TimelineItemGUI gui)
- {
- s_ItemToItemGUI[marker] = gui;
- }
-
- public static TimelineClipGUI GetGuiForClip(TimelineClip clip)
- {
- return GetGuiForItem(clip) as TimelineClipGUI;
- }
-
- public static TimelineMarkerGUI GetGuiForMarker(IMarker marker)
- {
- return GetGuiForItem(marker) as TimelineMarkerGUI;
- }
-
- static TimelineItemGUI GetGuiForItem(object item)
- {
- if (item == null)
- return null;
-
- TimelineItemGUI gui;
- s_ItemToItemGUI.TryGetValue(item, out gui);
- return gui;
- }
- }
-
- abstract class TimelineItemGUI : ISelectable
- {
- protected readonly DirectorStyles m_Styles;
-
- public abstract ITimelineItem item { get; }
- public abstract double start { get; }
- public abstract double end { get; }
- public abstract void Draw(Rect rect, bool rectChanged, WindowState state);
- public abstract Rect RectToTimeline(Rect trackRect, WindowState state);
-
- public virtual void Select() { }
- public virtual bool IsSelected() { return false; }
- public virtual void Deselect() { }
- public virtual bool CanSelect(Event evt) { return true; }
-
- public virtual void StartDrag() { }
- public virtual void StopDrag() { }
-
- public LayerZOrder zOrder { get; set; }
-
- public bool visible { get; set; }
- public bool isInvalid { get; set; }
-
- public IRowGUI parent { get; }
-
- public Rect rect
- {
- get { return parent.ToWindowSpace(treeViewRect); }
- }
-
- public Rect treeViewRect
- {
- get { return m_TreeViewRect; }
- protected set
- {
- m_TreeViewRect = value;
- if (value.width < 0.0f)
- m_TreeViewRect.width = 1.0f;
- }
- }
-
- Rect m_TreeViewRect;
-
- protected TimelineItemGUI(IRowGUI parent)
- {
- this.parent = parent;
- m_Styles = DirectorStyles.Instance;
- }
- }
- }
|