using System; using UnityEngine.Playables; namespace UnityEngine.Timeline { // Token: 0x02000030 RID: 48 public class ActivationControlPlayable : PlayableBehaviour { // Token: 0x060001B5 RID: 437 RVA: 0x0000931C File Offset: 0x0000751C public static ScriptPlayable Create(PlayableGraph graph, GameObject gameObject, ActivationControlPlayable.PostPlaybackState postPlaybackState) { ScriptPlayable scriptPlayable; if (gameObject == null) { scriptPlayable = ScriptPlayable.Null; } else { ScriptPlayable scriptPlayable2 = ScriptPlayable.Create(graph, 0); ActivationControlPlayable behaviour = scriptPlayable2.GetBehaviour(); behaviour.gameObject = gameObject; behaviour.postPlayback = postPlaybackState; scriptPlayable = scriptPlayable2; } return scriptPlayable; } // Token: 0x060001B6 RID: 438 RVA: 0x00009367 File Offset: 0x00007567 public override void OnBehaviourPlay(Playable playable, FrameData info) { if (!(this.gameObject == null)) { this.gameObject.SetActive(true); } } // Token: 0x060001B7 RID: 439 RVA: 0x0000938C File Offset: 0x0000758C public override void OnBehaviourPause(Playable playable, FrameData info) { if (!(this.gameObject == null)) { this.gameObject.SetActive(false); } } // Token: 0x060001B8 RID: 440 RVA: 0x000093B1 File Offset: 0x000075B1 public override void ProcessFrame(Playable playable, FrameData info, object userData) { if (this.gameObject != null) { this.gameObject.SetActive(true); } } // Token: 0x060001B9 RID: 441 RVA: 0x000093D1 File Offset: 0x000075D1 public override void OnGraphStart(Playable playable) { if (this.gameObject != null) { if (this.m_InitialState == ActivationControlPlayable.InitialState.Unset) { this.m_InitialState = ((!this.gameObject.activeSelf) ? ActivationControlPlayable.InitialState.Inactive : ActivationControlPlayable.InitialState.Active); } } } // Token: 0x060001BA RID: 442 RVA: 0x00009410 File Offset: 0x00007610 public override void OnGraphStop(Playable playable) { if (!(this.gameObject == null) && this.m_InitialState != ActivationControlPlayable.InitialState.Unset) { ActivationControlPlayable.PostPlaybackState postPlaybackState = this.postPlayback; if (postPlaybackState != ActivationControlPlayable.PostPlaybackState.Active) { if (postPlaybackState != ActivationControlPlayable.PostPlaybackState.Inactive) { if (postPlaybackState == ActivationControlPlayable.PostPlaybackState.Revert) { this.gameObject.SetActive(this.m_InitialState == ActivationControlPlayable.InitialState.Active); } } else { this.gameObject.SetActive(false); } } else { this.gameObject.SetActive(true); } } } // Token: 0x040000CC RID: 204 public GameObject gameObject = null; // Token: 0x040000CD RID: 205 public ActivationControlPlayable.PostPlaybackState postPlayback = ActivationControlPlayable.PostPlaybackState.Revert; // Token: 0x040000CE RID: 206 private ActivationControlPlayable.InitialState m_InitialState; // Token: 0x02000031 RID: 49 public enum PostPlaybackState { // Token: 0x040000D0 RID: 208 Active, // Token: 0x040000D1 RID: 209 Inactive, // Token: 0x040000D2 RID: 210 Revert } // Token: 0x02000032 RID: 50 private enum InitialState { // Token: 0x040000D4 RID: 212 Unset, // Token: 0x040000D5 RID: 213 Active, // Token: 0x040000D6 RID: 214 Inactive } } }