大家都出去过周六了,而我却在家写代码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(); } } }
结果:
三秒之后,同样触发了OnDestroy事件
转载请注明地址:凉鞋的笔记:liangxiegame.com
更多内容
-
QFramework 地址:https://github.com/liangxiegame/QFramework
-
QQ 交流群:623597263
-
Unity 进阶小班:
- 主要训练内容:
- 框架搭建训练(第一年)
- 跟着案例学 Shader(第一年)
- 副业的孵化(第二年、第三年)
- 权益、授课形式等具体详情请查看《小班产品手册》:https://liangxiegame.com/master/intro
- 主要训练内容:
-
关注公众号:liangxiegame 获取第一时间更新通知及更多的免费内容。