using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 普通单例基类
/// by:zdz
/// date:20220328
/// </summary>
/// <typeparam name="T"></typeparam>
public class Singleton<T> where T : new()
{
private static T m_instance;
private static readonly object locker = new object();
public static T Instance
{
get
{
lock (locker)
{
if (m_instance == null) m_instance = new T();
}
return m_instance;
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// Mono单例基类
/// by:zdz
/// date:20220328
/// </summary>
/// <typeparam name="T"></typeparam>
public class MonoSingleton<T> : MonoBehaviour where T:Component
{
private static T m_instace;
private static readonly object lockObj=new object();
public static T Instance
{
get
{
lock (lockObj)
{
m_instace = FindObjectOfType<T>();
if (m_instace == null)
{
GameObject obj = new GameObject("TempObj");
m_instace = obj.AddComponent<T>();
}
}
return m_instace;
}
}
}

最新文章

  1. 数论专项测试——约数个数和(lucas的数论)
  2. eclipse工具背景色模板-程序员保护好自己的眼睛
  3. Java解析采集模块
  4. JS 删除字符串最后一个字符的几种方法
  5. ReorderList 的使用
  6. distri.lua重写开源手游服务器框架Survive
  7. Intent 传数据
  8. Android Failure [INSTALL_FAILED_OLDER_SDK]
  9. python调用java
  10. mysql5.6 zip版安装
  11. Nuget升级问题
  12. React 在服务端渲染的实现
  13. pyspider爬取TripAdvisor
  14. Qt Creator 编译测试 MQTT-C
  15. 使用Flask部署机器学习模型
  16. LINUX系统配置
  17. Java逐行写入字符串到文件
  18. 模拟ajax接口返回的数据
  19. SpingBoot —— RestTemplate的配置
  20. Go语言中Socket通信TCP服务端

热门文章

  1. 学习java Markdown语法
  2. 『现学现忘』Docker相关概念 — 6、虚拟化技术分类
  3. tensorflow源码解析之framework-function
  4. mysql5.7.35数据库迁移
  5. idea Alt+Insert:构造函数
  6. 2022年官网下安装NodeJS最全版与官网查阅方法
  7. Azure Container App(一)应用介绍
  8. 分布式搜索引擎Elasticsearch的架构分析
  9. 放在initramfs的ko会先加载,还是/lib/modules/下面的ko会先加载?
  10. python豆瓣250爬取