我们一个游戏可能多次用到单例模式。每次重写显然浪费时间。用单例模式的模板可以减少工作量。但是在继承的单例模式里面如果要用到Awake()方法必须调用继承类的Awake()方法。
using UnityEngine;
/// <summary>
/// 场景单例模板,只在当前场景有效,切换场景时会被消毁
/// </summary>
/// <typeparam name="T">必须是Component</typeparam>
public class Singleton<T>: MonoBehaviour where T: Component
{
protected static T _Instance;
public static T Instance
{
get
{
if (_Instance == null)
{
// 如果不存在实例, 则查找所有这个类型的对象
_Instance &#