scripts
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ProBuilder2.Common
|
||||
{
|
||||
// Token: 0x02000033 RID: 51
|
||||
public class pb_MonoBehaviourSingleton<T> : MonoBehaviour where T : MonoBehaviour
|
||||
{
|
||||
// Token: 0x17000017 RID: 23
|
||||
// (get) Token: 0x06000155 RID: 341 RVA: 0x0000E840 File Offset: 0x0000CC40
|
||||
public static T instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (pb_MonoBehaviourSingleton<T>.nullableInstance == null)
|
||||
{
|
||||
pb_MonoBehaviourSingleton<T>._instance = new GameObject
|
||||
{
|
||||
name = typeof(T).ToString()
|
||||
}.AddComponent<T>();
|
||||
}
|
||||
return (T)((object)pb_MonoBehaviourSingleton<T>._instance);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000018 RID: 24
|
||||
// (get) Token: 0x06000156 RID: 342 RVA: 0x0000E898 File Offset: 0x0000CC98
|
||||
public static T nullableInstance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (pb_MonoBehaviourSingleton<T>._instance == null)
|
||||
{
|
||||
T[] array = Resources.FindObjectsOfTypeAll<T>();
|
||||
if (array != null && array.Length > 0)
|
||||
{
|
||||
pb_MonoBehaviourSingleton<T>._instance = array[0];
|
||||
for (int i = 1; i < array.Length; i++)
|
||||
{
|
||||
global::UnityEngine.Object.DestroyImmediate(array[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return (T)((object)pb_MonoBehaviourSingleton<T>._instance);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06000157 RID: 343 RVA: 0x0000E90A File Offset: 0x0000CD0A
|
||||
public static bool Valid()
|
||||
{
|
||||
return pb_MonoBehaviourSingleton<T>.nullableInstance != null;
|
||||
}
|
||||
|
||||
// Token: 0x06000158 RID: 344 RVA: 0x0000E91C File Offset: 0x0000CD1C
|
||||
public virtual void Awake()
|
||||
{
|
||||
if (pb_MonoBehaviourSingleton<T>._instance == null)
|
||||
{
|
||||
pb_MonoBehaviourSingleton<T>._instance = this;
|
||||
}
|
||||
else
|
||||
{
|
||||
global::UnityEngine.Object.Destroy(this);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06000159 RID: 345 RVA: 0x0000E93F File Offset: 0x0000CD3F
|
||||
public virtual void OnEnable()
|
||||
{
|
||||
pb_MonoBehaviourSingleton<T>._instance = this;
|
||||
}
|
||||
|
||||
// Token: 0x04000131 RID: 305
|
||||
private static MonoBehaviour _instance;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user