using System; using UnityEngine.Playables; namespace UnityEngine.Timeline { // Token: 0x0200000A RID: 10 internal class RuntimeClip : RuntimeClipBase { // Token: 0x06000048 RID: 72 RVA: 0x000040D3 File Offset: 0x000022D3 public RuntimeClip(TimelineClip clip, Playable clipPlayable, Playable parentMixer) { this.Create(clip, clipPlayable, parentMixer); } // Token: 0x17000008 RID: 8 // (get) Token: 0x06000049 RID: 73 RVA: 0x000040E8 File Offset: 0x000022E8 public override double start { get { return this.m_Clip.extrapolatedStart; } } // Token: 0x17000009 RID: 9 // (get) Token: 0x0600004A RID: 74 RVA: 0x00004108 File Offset: 0x00002308 public override double duration { get { return this.m_Clip.extrapolatedDuration; } } // Token: 0x0600004B RID: 75 RVA: 0x00004128 File Offset: 0x00002328 private void Create(TimelineClip clip, Playable clipPlayable, Playable parentMixer) { this.m_Clip = clip; this.m_Playable = clipPlayable; this.m_ParentMixer = parentMixer; clipPlayable.SetPlayState(PlayState.Paused); } // Token: 0x1700000A RID: 10 // (get) Token: 0x0600004C RID: 76 RVA: 0x00004148 File Offset: 0x00002348 public TimelineClip clip { get { return this.m_Clip; } } // Token: 0x1700000B RID: 11 // (get) Token: 0x0600004D RID: 77 RVA: 0x00004164 File Offset: 0x00002364 public Playable mixer { get { return this.m_ParentMixer; } } // Token: 0x1700000C RID: 12 // (get) Token: 0x0600004E RID: 78 RVA: 0x00004180 File Offset: 0x00002380 public Playable playable { get { return this.m_Playable; } } // Token: 0x1700000D RID: 13 // (set) Token: 0x0600004F RID: 79 RVA: 0x0000419C File Offset: 0x0000239C public override bool enable { set { PlayState playState = ((!value) ? PlayState.Paused : PlayState.Playing); PlayState playState2 = this.m_Playable.GetPlayState(); if (playState != playState2) { this.m_Playable.SetPlayState(playState); } if (playState == PlayState.Paused && this.m_ParentMixer.IsValid()) { this.m_ParentMixer.SetInputWeight(this.m_Playable, 0f); } } } // Token: 0x06000050 RID: 80 RVA: 0x00004207 File Offset: 0x00002407 public void SetTime(double time) { this.m_Playable.SetTime(time); } // Token: 0x06000051 RID: 81 RVA: 0x00004216 File Offset: 0x00002416 public void SetDuration(double duration) { this.m_Playable.SetDuration(duration); } // Token: 0x06000052 RID: 82 RVA: 0x00004228 File Offset: 0x00002428 public override void EvaluateAt(double localTime, FrameData frameData) { this.enable = true; float num; if (this.clip.IsPreExtrapolatedTime(localTime)) { num = this.clip.EvaluateMixIn((double)((float)this.clip.start)); } else if (this.clip.IsPostExtrapolatedTime(localTime)) { num = this.clip.EvaluateMixOut((double)((float)this.clip.end)); } else { num = this.clip.EvaluateMixIn(localTime) * this.clip.EvaluateMixOut(localTime); } if (this.mixer.IsValid()) { this.mixer.SetInputWeight(this.playable, num); } double num2 = this.clip.ToLocalTime(localTime); if (num2.CompareTo(0.0) >= 0) { this.SetTime(num2); } this.SetDuration(this.clip.extrapolatedDuration); } // Token: 0x04000014 RID: 20 private TimelineClip m_Clip; // Token: 0x04000015 RID: 21 private Playable m_Playable; // Token: 0x04000016 RID: 22 private Playable m_ParentMixer; } }