From c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Sun, 19 Apr 2020 17:19:32 -0400 Subject: Inital commit --- .../Editor/Items/ItemsGroup.cs | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/ItemsGroup.cs (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/ItemsGroup.cs') diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/ItemsGroup.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/ItemsGroup.cs new file mode 100644 index 0000000..41ff657 --- /dev/null +++ b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Items/ItemsGroup.cs @@ -0,0 +1,63 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace UnityEditor.Timeline +{ + class ItemsGroup + { + readonly ITimelineItem[] m_Items; + readonly ITimelineItem m_LeftMostItem; + readonly ITimelineItem m_RightMostItem; + + public ITimelineItem[] items + { + get { return m_Items; } + } + + public double start + { + get { return m_LeftMostItem.start; } + set + { + var offset = value - m_LeftMostItem.start; + + foreach (var clip in m_Items) + clip.start += offset; + } + } + + public double end + { + get { return m_RightMostItem.end; } + } + + public ITimelineItem leftMostItem + { + get { return m_LeftMostItem; } + } + + public ITimelineItem rightMostItem + { + get { return m_RightMostItem; } + } + + public ItemsGroup(IEnumerable items) + { + Debug.Assert(items != null && items.Any()); + + m_Items = items.ToArray(); + m_LeftMostItem = null; + m_RightMostItem = null; + + foreach (var item in m_Items) + { + if (m_LeftMostItem == null || item.start < m_LeftMostItem.start) + m_LeftMostItem = item; + + if (m_RightMostItem == null || item.end > m_RightMostItem.end) + m_RightMostItem = item; + } + } + } +} -- cgit v1.2.3