scripts
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using UnityEngine.Playables;
|
||||
|
||||
namespace UnityEngine.Timeline
|
||||
{
|
||||
// Token: 0x02000037 RID: 55
|
||||
public class PrefabControlPlayable : PlayableBehaviour
|
||||
{
|
||||
// Token: 0x060001D8 RID: 472 RVA: 0x00009A74 File Offset: 0x00007C74
|
||||
public static ScriptPlayable<PrefabControlPlayable> Create(PlayableGraph graph, GameObject prefabGameObject, Transform parentTransform)
|
||||
{
|
||||
ScriptPlayable<PrefabControlPlayable> scriptPlayable;
|
||||
if (prefabGameObject == null)
|
||||
{
|
||||
scriptPlayable = ScriptPlayable<PrefabControlPlayable>.Null;
|
||||
}
|
||||
else
|
||||
{
|
||||
ScriptPlayable<PrefabControlPlayable> scriptPlayable2 = ScriptPlayable<PrefabControlPlayable>.Create(graph, 0);
|
||||
scriptPlayable2.GetBehaviour().Initialize(prefabGameObject, parentTransform);
|
||||
scriptPlayable = scriptPlayable2;
|
||||
}
|
||||
return scriptPlayable;
|
||||
}
|
||||
|
||||
// Token: 0x1700008C RID: 140
|
||||
// (get) Token: 0x060001D9 RID: 473 RVA: 0x00009AB8 File Offset: 0x00007CB8
|
||||
public GameObject prefabInstance
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_Instance;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060001DA RID: 474 RVA: 0x00009AD4 File Offset: 0x00007CD4
|
||||
public GameObject Initialize(GameObject prefabGameObject, Transform parentTransform)
|
||||
{
|
||||
if (prefabGameObject == null)
|
||||
{
|
||||
throw new ArgumentNullException("Prefab cannot be null");
|
||||
}
|
||||
if (this.m_Instance != null)
|
||||
{
|
||||
Debug.LogWarningFormat("Prefab Control Playable ({0}) has already been initialized with a Prefab ({1}).", new object[]
|
||||
{
|
||||
prefabGameObject.name,
|
||||
this.m_Instance.name
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
this.m_Instance = Object.Instantiate<GameObject>(prefabGameObject, parentTransform, false);
|
||||
this.m_Instance.name = prefabGameObject.name + " [Timeline]";
|
||||
this.m_Instance.SetActive(false);
|
||||
PrefabControlPlayable.SetHideFlagsRecursive(this.m_Instance);
|
||||
}
|
||||
return this.m_Instance;
|
||||
}
|
||||
|
||||
// Token: 0x060001DB RID: 475 RVA: 0x00009B87 File Offset: 0x00007D87
|
||||
public override void OnPlayableDestroy(Playable playable)
|
||||
{
|
||||
if (this.m_Instance)
|
||||
{
|
||||
if (Application.isPlaying)
|
||||
{
|
||||
Object.Destroy(this.m_Instance);
|
||||
}
|
||||
else
|
||||
{
|
||||
Object.DestroyImmediate(this.m_Instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060001DC RID: 476 RVA: 0x00009BC1 File Offset: 0x00007DC1
|
||||
public override void OnBehaviourPlay(Playable playable, FrameData info)
|
||||
{
|
||||
if (!(this.m_Instance == null))
|
||||
{
|
||||
this.m_Instance.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060001DD RID: 477 RVA: 0x00009BE6 File Offset: 0x00007DE6
|
||||
public override void OnBehaviourPause(Playable playable, FrameData info)
|
||||
{
|
||||
if (!(this.m_Instance == null))
|
||||
{
|
||||
this.m_Instance.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060001DE RID: 478 RVA: 0x00009C0C File Offset: 0x00007E0C
|
||||
private static void SetHideFlagsRecursive(GameObject gameObject)
|
||||
{
|
||||
gameObject.hideFlags = HideFlags.DontSaveInEditor | HideFlags.DontSaveInBuild;
|
||||
if (!Application.isPlaying)
|
||||
{
|
||||
gameObject.hideFlags |= HideFlags.HideInHierarchy;
|
||||
}
|
||||
IEnumerator enumerator = gameObject.transform.GetEnumerator();
|
||||
try
|
||||
{
|
||||
while (enumerator.MoveNext())
|
||||
{
|
||||
object obj = enumerator.Current;
|
||||
Transform transform = (Transform)obj;
|
||||
PrefabControlPlayable.SetHideFlagsRecursive(transform.gameObject);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
IDisposable disposable;
|
||||
if ((disposable = enumerator as IDisposable) != null)
|
||||
{
|
||||
disposable.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040000DD RID: 221
|
||||
private GameObject m_Instance;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user