美文网首页游戏框架征服Unity3dUnity技术分享
优雅的QSignleton (四) 通过属性器实现MonoSin

优雅的QSignleton (四) 通过属性器实现MonoSin

作者: 凉鞋的笔记 | 来源:发表于2017-11-07 10:07 被阅读23次

    大家都出去过周六了,而我却在家写代码T.T...

    接下来介绍通过属性器实现MonoSingleton。

    代码如下:

    • MonoSingletonProperty.cs
    namespace QFramework.Example
    {
        using System.Collections;
        using UnityEngine;
        
        class Class2MonoSingletonProperty : MonoBehaviour,ISingleton
        {
            public static Class2MonoSingletonProperty Instance
            {
                get { return QMonoSingletonProperty<Class2MonoSingletonProperty>.Instance; }
            }
            
            public void Dispose()
            {
                QMonoSingletonProperty<Class2MonoSingletonProperty>.Dispose();
            }
            
            public void OnSingletonInit()
            {
                Debug.Log(name + ":" + "OnSingletonInit");
            }
    
            private void Awake()
            {
                Debug.Log(name + ":" + "Awake");
            }
    
            private void Start()
            {
                Debug.Log(name + ":" + "Start");
            }
    
            protected void OnDestroy()
            {
                Debug.Log(name + ":" + "OnDestroy");
            }
        }
    
        public class MonoSingletonProperty : MonoBehaviour
        {
            private IEnumerator Start()
            {
                var instance = Class2MonoSingletonProperty.Instance;
    
                yield return new WaitForSeconds(3.0f);
                
                instance.Dispose();
            }
        }
    }
    

    结果:

    image

    三秒之后,同样触发了OnDestroy事件

    image

    相关链接:

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

    微信公众号:liangxiegame

    image

    output/writing/Unity游戏框架搭建

    相关文章

      网友评论

        本文标题:优雅的QSignleton (四) 通过属性器实现MonoSin

        本文链接:https://www.haomeiwen.com/subject/ikpdmxtx.html