Files
Dec2017-Script-Dump/UnityEngine.Timeline/Timeline/ActivationMixerPlayable.cs
T
2026-06-04 11:42:34 +02:00

98 lines
2.7 KiB
C#

using System;
using UnityEngine.Playables;
namespace UnityEngine.Timeline
{
// Token: 0x02000020 RID: 32
internal class ActivationMixerPlayable : PlayableBehaviour
{
// Token: 0x17000064 RID: 100
// (get) Token: 0x0600013D RID: 317 RVA: 0x00006AF0 File Offset: 0x00004CF0
// (set) Token: 0x0600013E RID: 318 RVA: 0x00006B0A File Offset: 0x00004D0A
public GameObject boundGameObject { get; set; }
// Token: 0x0600013F RID: 319 RVA: 0x00006B14 File Offset: 0x00004D14
public static ScriptPlayable<ActivationMixerPlayable> Create(PlayableGraph graph, int inputCount)
{
return ScriptPlayable<ActivationMixerPlayable>.Create(graph, inputCount);
}
// Token: 0x17000065 RID: 101
// (get) Token: 0x06000140 RID: 320 RVA: 0x00006B30 File Offset: 0x00004D30
// (set) Token: 0x06000141 RID: 321 RVA: 0x00006B4B File Offset: 0x00004D4B
public ActivationTrack.PostPlaybackState postPlaybackState
{
get
{
return this.m_PostPlaybackState;
}
set
{
this.m_PostPlaybackState = value;
}
}
// Token: 0x06000142 RID: 322 RVA: 0x00006B55 File Offset: 0x00004D55
public override void OnGraphStart(Playable playable)
{
if (this.boundGameObject != null)
{
this.m_BoundGameObjectInitialStateIsActive = this.boundGameObject.activeInHierarchy;
}
}
// Token: 0x06000143 RID: 323 RVA: 0x00006B7C File Offset: 0x00004D7C
public override void OnGraphStop(Playable playable)
{
if (!(this.boundGameObject == null))
{
if (!Application.isPlaying)
{
this.boundGameObject.SetActive(this.m_BoundGameObjectInitialStateIsActive);
}
else
{
switch (this.m_PostPlaybackState)
{
case ActivationTrack.PostPlaybackState.Active:
this.boundGameObject.SetActive(true);
break;
case ActivationTrack.PostPlaybackState.Inactive:
this.boundGameObject.SetActive(false);
break;
case ActivationTrack.PostPlaybackState.Revert:
this.boundGameObject.SetActive(this.m_BoundGameObjectInitialStateIsActive);
break;
}
}
}
}
// Token: 0x06000144 RID: 324 RVA: 0x00006C20 File Offset: 0x00004E20
public override void ProcessFrame(Playable playable, FrameData info, object playerData)
{
GameObject gameObject = playerData as GameObject;
if (!(gameObject == null) && !(gameObject != this.boundGameObject))
{
int inputCount = playable.GetInputCount<Playable>();
bool flag = false;
for (int i = 0; i < inputCount; i++)
{
if (playable.GetInputWeight(i) > 0f)
{
flag = true;
break;
}
}
gameObject.SetActive(flag);
}
}
// Token: 0x0400008C RID: 140
private ActivationTrack.PostPlaybackState m_PostPlaybackState;
// Token: 0x0400008D RID: 141
private bool m_BoundGameObjectInitialStateIsActive;
}
}