查看原文
其他

程序丨优雅的QSingleton(二):MonoSingleton单例实现

2017-11-10 凉鞋 Gad-腾讯游戏开发者平台

如何用QSingleton实现一个简单的单例?MonoSingleton单例实现。


  • MonoSingleton.cs


namespace QFramework.Example
{
   using System.Collections;
   using UnityEngine;

   class Class2MonoSingleton : QMonoSingleton
   {
       public override void OnSingletonInit()
       {
           Debug.Log(this.name   ":"   "OnSingletonInit");
       }

       private void Awake()
       {
           Debug.Log(this.name   ":"   "Awake");
       }

       private void Start()
       {
           Debug.Log(this.name   ":"   "Start");
       }

       protected override void OnDestroy()
       {
           base.OnDestroy();

           Debug.Log(this.name   ":"   "OnDestroy");
       }
   }

   public class MonoSingleton : MonoBehaviour
   {
       private IEnumerator Start()
       {
           var instance = Class2MonoSingleton.Instance;

           yield return new WaitForSeconds(3.0f);

           instance.Dispose();
       }
   }
}



结果:



三秒之后,单例GameObject消失,并且触发了OnDestroy事件。



----------------------

今日推荐


10月资料包、资料库下载

使用UGUI绘制多边形雷达图

Unity 渲染教程(十一):透明度

实时渲染的圣经!《RTR3》 全书知识点总览


添加小编微信,可享双重福利

1.加入GAD程序猿交流基地

获取行业干货资讯,观看大牛分享直播

2.领取60G独家程序资料,地址在小编朋友圈

包括腾讯内部分享、文章教程、视频教程等全套资料

↓长按添加小编GAD苏苏↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存