using System; using UnityEngine.Playables; namespace UnityEngine.Timeline { // Token: 0x02000022 RID: 34 [TrackClipType(typeof(ActivationPlayableAsset))] [TrackMediaType(TimelineAsset.MediaType.Script)] [TrackBindingType(typeof(GameObject))] [Serializable] public class ActivationTrack : TrackAsset { // Token: 0x17000067 RID: 103 // (get) Token: 0x06000149 RID: 329 RVA: 0x00006CD8 File Offset: 0x00004ED8 internal override bool compilable { get { return base.isEmpty || base.compilable; } } // Token: 0x17000068 RID: 104 // (get) Token: 0x0600014A RID: 330 RVA: 0x00006D04 File Offset: 0x00004F04 // (set) Token: 0x0600014B RID: 331 RVA: 0x00006D1F File Offset: 0x00004F1F public ActivationTrack.PostPlaybackState postPlaybackState { get { return this.m_PostPlaybackState; } set { this.m_PostPlaybackState = value; this.UpdateTrackMode(); } } // Token: 0x0600014C RID: 332 RVA: 0x00006D30 File Offset: 0x00004F30 public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount) { ScriptPlayable scriptPlayable = ActivationMixerPlayable.Create(graph, inputCount); this.m_ActivationMixer = scriptPlayable.GetBehaviour(); PlayableDirector component = go.GetComponent(); this.UpdateBoundGameObject(component); this.UpdateTrackMode(); return scriptPlayable; } // Token: 0x0600014D RID: 333 RVA: 0x00006D74 File Offset: 0x00004F74 private void UpdateBoundGameObject(PlayableDirector director) { if (director != null) { GameObject gameObject = director.GetGenericBinding(this) as GameObject; if (gameObject != null && this.m_ActivationMixer != null) { this.m_ActivationMixer.boundGameObject = gameObject; } } } // Token: 0x0600014E RID: 334 RVA: 0x00006DC2 File Offset: 0x00004FC2 internal void UpdateTrackMode() { if (this.m_ActivationMixer != null) { this.m_ActivationMixer.postPlaybackState = this.m_PostPlaybackState; } } // Token: 0x0600014F RID: 335 RVA: 0x00006DE4 File Offset: 0x00004FE4 public override void GatherProperties(PlayableDirector director, IPropertyCollector driver) { GameObject gameObjectBinding = base.GetGameObjectBinding(director); if (gameObjectBinding != null) { driver.AddFromName(gameObjectBinding, "m_IsActive"); } } // Token: 0x0400008F RID: 143 [SerializeField] private ActivationTrack.PostPlaybackState m_PostPlaybackState; // Token: 0x04000090 RID: 144 private ActivationMixerPlayable m_ActivationMixer; // Token: 0x02000023 RID: 35 public enum PostPlaybackState { // Token: 0x04000092 RID: 146 Active, // Token: 0x04000093 RID: 147 Inactive, // Token: 0x04000094 RID: 148 Revert, // Token: 0x04000095 RID: 149 LeaveAsIs } } }