美文网首页
unity单例模式的样板代码

unity单例模式的样板代码

作者: 吉凶以情迁 | 来源:发表于2022-08-13 11:14 被阅读0次

using UnityEngine;

/// <summary>
/// A static instance is similar to a singleton, but instead of destroying any new
/// instances, it overrides the current instance. This is handy for resetting the state
/// and saves you doing it manually
/// </summary>
public abstract class StaticInstance<T> : MonoBehaviour where T : MonoBehaviour
{
    public static T Instance { get; private set; }
    protected virtual void Awake() => Instance = this as T;
    protected virtual void OnApplicationQuit()
    {
        Instance = null;
        Destroy(gameObject);
    }
}
/// <summary>
/// This transforms the static instance into a basic singleton. This will destroy any new
/// versions created, leaving the original instance intact
/// ///这将把静态实例转换成一个基本的单例。这将摧毁任何新的
///创建的版本,保留原来的实例不变
/// </summary>
public abstract class Singleton<T> : StaticInstance<T> where T : MonoBehaviour
{
    protected override void Awake()
    {
        if (Instance != null) Destroy(gameObject);
        base.Awake();
    }
}

/// <summary>
//最后,我们有了一个持久版本的单例。这将通过现场生存
/// / / 负载。非常适合需要有状态、持久数据的系统类。或音频来源
///通过加载屏幕播放音乐,等等
/// </summary>
public abstract class PersistentSingleton<T> : Singleton<T> where T : MonoBehaviour
{
    protected override void Awake()
    {
        base.Awake();
        DontDestroyOnLoad(gameObject);
    }
}

其中PersistentSingleton.DontDestroyOnLoad 是不会随场景变更而销毁,用于音频管理器。如果同一个节点下 存在单例模式,则会影响该节点所有脚本。

相关文章

  • unity单例模式的样板代码

    其中PersistentSingleton.DontDestroyOnLoad 是不会随场景变更而销毁,用于音频管...

  • 单例模式

    一、单例模式介绍 二、单例模式代码实例

  • C# 单例

    Unity 单例模式[https://www.jianshu.com/p/97e4758ff4b4] 单例模式在开...

  • Node.js与单例模式

    1、前端的JavaScript单例模式 单例模式是非常常用的设计模式,前端的JavaScript中单例模式代码可能...

  • 单例模式

    单例模式及C++实现代码单例模式4种实现详解 c++11改进我们的模式之改进单例模式 单例模式(Singleton...

  • GoogleVR插件简介

    Unity插件包包含以下内容:脚本· Cardboard.cs -本地代码虚拟现实设备的单例模式连...

  • Singleton 单例模式

    饿汉式单例模式 饿汉式单例模式 通过静态代码块增加异常处理 懒汉式单例模式 存在线程安全问题 懒汉式单例模式 解决...

  • java完美单例模式

    完美单例模式 单例模式的各种概念网上有很多,这里直接贴代码:

  • 单例模式

    一、介绍 二、单例模式代码实现 三、单例的简介写法

  • Unity 单例模式

    单例模式是设计模式中很常用的一种模式,它的目的是让一个类在程序运行期间有且只有一个实例。关于 Unity 中如何实...

网友评论

      本文标题:unity单例模式的样板代码

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