[Unity3D]单例的一种实现方式

版权声明:本文为博主原创文章,转载请注明 http://blog.csdn.net/u012741077 https://blog.csdn.net/u012741077/article/details/53385784

有些类,整个程序运行中,只有一个实例,我们可将其设置为单例,方便程序中其他部分的使用。

使用方式如下

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;
        }
    }
}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/u012741077/article/details/53385784