123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using System.Collections.Generic;
- using System.Linq;
- using UnityEngine;
- using UnityEngine.Timeline;
- namespace UnityEditor.Timeline
- {
- class TimelineClipGroup
- {
- readonly TimelineClip[] m_Clips;
- readonly TimelineClip m_LeftMostClip;
- readonly TimelineClip m_RightMostClip;
- public TimelineClip[] clips
- {
- get { return m_Clips; }
- }
- public double start
- {
- get { return m_LeftMostClip.start; }
- set
- {
- var offset = value - m_LeftMostClip.start;
- foreach (var clip in m_Clips)
- clip.start += offset;
- }
- }
- public double end
- {
- get { return m_RightMostClip.end; }
- }
- public TimelineClipGroup(IEnumerable<TimelineClip> clips)
- {
- Debug.Assert(clips != null && clips.Any());
- m_Clips = clips.ToArray();
- m_LeftMostClip = null;
- m_RightMostClip = null;
- foreach (var clip in m_Clips)
- {
- if (m_LeftMostClip == null || clip.start < m_LeftMostClip.start)
- m_LeftMostClip = clip;
- if (m_RightMostClip == null || clip.end > m_RightMostClip.end)
- m_RightMostClip = clip;
- }
- }
- }
- }
|