当前位置: 首页 > news >正文

设计模式——泛型单例类

游戏中很多管理类都需要写成单例类,每次重复把管理类设置为单例类很繁琐,

这里直接写一个泛型单例类作为模板父类,方便其他需要写成单例类的类直接继承设置为单例类;

using UnityEngine;public class Singleton<T> : MonoBehaviour where T:Singleton<T>
{private static T instance;public static T Instance{get { return instance; }}public static bool IsInitialized{get { return instance != null; }}protected virtual void Init(){if (instance != null) Destroy(gameObject);else instance = (T)this;}protected virtual void Destroy(){if (instance == this) instance = null;}
}

其他要写成单例类的类,可以直接继承Singleton,示例如下:

using UnityEngine;public class GameManager : Singleton<GameManager>
{protected override void Init(){base.Init();if (IsInitialized) Debug.Log("游戏初始化!");}
}

http://www.lryc.cn/news/517165.html

相关文章:

  • 三维卷积( 3D CNN)
  • 【JAVA】Java开发小游戏 - 简单的2D平台跳跃游戏 基本的2D平台跳跃游戏框架,适合初学者学习和理解Java游戏开发的基础概念
  • 分享3个国内使用正版GPT的网站【亲测有效!2025最新】
  • CSDN Markdown编辑器设置视频居中完美解决方案
  • Java到底是值传递还是引用传递????
  • 初学stm32 --- 电源监控
  • Win10本地部署大语言模型ChatGLM2-6B
  • [ LeetCode 75 ] 1768. 交替合并字符串
  • (三)通过WebGL绘制一个简单的三角形来理解渲染管线
  • 医学图像分析工具02:3D Slicer || 医学影像可视化与分析工具 支持第三方插件
  • Ollama VS LocalAI:本地大语言模型的深度对比与选择指南
  • 虚表 —— 隐藏行(简单版)
  • CAD批量打印可检索的PDF文件
  • 2025.1.7(c++基础知识点)
  • jenkins入门12-- 权限管理
  • Edge SCDN高效防护与智能加速
  • Ubuntu22.04配置静态ip
  • [Linux]线程的互斥与同步
  • Java:缓存:LinkedHashMap实现Lru
  • 【形式篇】年终总结怎么写:PPT如何将内容更好地表现出来
  • 自定义字典转换器用于easyExcel 导入导出
  • 0 Token 间间隔 100% GPU 利用率,百度百舸 AIAK 大模型推理引擎极限优化 TPS
  • js:事件流
  • Linux对比Windows
  • Excel 技巧03 - 如何对齐小数位数? (★)如何去掉小数点?如何不四舍五入去掉小数点?
  • Vue3国际化多语言的切换
  • 使用XAML语言仿写BiliBil登录界面
  • 机器学习和深度学习
  • Word表格批量提取数据到Excel,Word导出到Excel,我爱excel
  • SpringSecurity抛出异常但AccessDeniedHandler不生效