Unity 游戏框架搭建 2017 (十四) 优雅的 QSingleton (二) MonoSingleton单例实现

  • MonoSingleton.cs

    namespace QFramework.Example
    {
      using System.Collections;
      using UnityEngine;
    
      class Class2MonoSingleton : QMonoSingleton<Class2MonoSingleton>
      {
          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事件。

    转载请注明地址:凉鞋的笔记:liangxiegame.com

     

更多内容

posted @ 2017-11-07 09:43  凉鞋的笔记  阅读(654)  评论(0编辑  收藏  举报