有些类,整个程序运行中,只有一个实例,我们可将其设置为单例,方便程序中其他部分的使用。
使用方式如下
using UnityEngine;
public class GameManager : Singleton<GameManager>
{
public void Func(){}
}
//......
GameManager.Instance.Func();
//......
源码如下
using UnityEngine;
public class Singleton<T> : MonoBehaviour where T : Singleton<T>
{
private static T _Instance;
public static T Instance
{
get
{
if (_Instance == null)
{
_Instance = FindObjectOfType<T>();
}
return _Instance;
}
}
}