Unity实现单例模式


/***
 * 
 *    Title: MXFramework
 *           主题: 脚本单例类
 *    Description: 
 *           功能:实现单利类
 *                                  
 *    Date: 2020
 *    Version: 4.0版本
 *    Modify Recoder:      
 *
 */

using UnityEngine;

namespace Mx.Util
{
    /// <summary>脚本单例类</summary>
    public class MonoSingleton<T> : MonoBehaviour where T : MonoSingleton<T>
    {
        private static T instance;

        public static T Instance
        {
            get
            {
                if (instance == null)
                {
                    instance = FindObjectOfType<T>();
                    if (instance == null) { instance = new GameObject("_"+typeof(T).Name).AddComponent<T>(); }
                    instance.Init();//相当于构造函数
                }
                return instance;
            }
        }

        public virtual void Init()
        {

        }

    }
}
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM