当前位置:网站首页>学习(二):单例模板
学习(二):单例模板
2022-08-02 03:34:00 【落水无痕】
Singleton.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 实现普通的单例模式
// where 限制模板的类型, new()指的是这个类型必须要能被实例化
public abstract class Singleton<T> where T : new() {
private static T _instance;
private static object mutex = new object();
public static T Instance {
get {
if (_instance == null) {
lock (mutex) { // 保证我们的单例,是线程安全的;
if (_instance == null) {
_instance = new T();
}
}
}
return _instance;
}
}
}
// Monobeavior: 声音, 网络
// Unity单例
public class UnitySingleton<T> : MonoBehaviour
where T : Component {
private static T _instance = null;
public static T Instance {
get {
if (_instance == null) {
_instance = FindObjectOfType(typeof(T)) as T;
if (_instance == null) {
GameObject obj = new GameObject();
_instance = (T)obj.AddComponent(typeof(T));
obj.hideFlags = HideFlags.DontSave;
// obj.hideFlags = HideFlags.HideAndDontSave;
obj.name = typeof(T).Name;
}
}
return _instance;
}
}
public virtual void Awake() {
DontDestroyOnLoad(this.gameObject);
if (_instance == null) {
_instance = this as T;
}
else {
GameObject.Destroy(this.gameObject);
}
}
}
边栏推荐
- 剑指Offer 32.Ⅲ从上到下打印二叉树
- Comparative analysis of OneNET Studio and IoT Studio
- 振芯科技GM8285C:功能TTL转LVDS芯片简介
- 使用pyqt弹出消息提示框
- 2019 - ICCV - 图像修复 Image Inpainting 论文导读《StructureFlow: Image Inpainting via Structure-aware ~~》
- 基础IO(上):文件管理和描述符
- proteus数字电路仿真——入门实例
- 增量编译技术在Lightly中的实践
- 【TCS3200 color sensor and Arduino realize color recognition】
- UKlog.dat和QQ,微信文件的转移
猜你喜欢

使用buildroot制作根文件系统(龙芯1B使用)

GM8775C MIPI转LVDS调试资料分享

STM32F4 CAN 配置注意的细节问题

联阳IT6561|IT6561FN方案电路|替代IT6561方案设计DP转HDMI音视频转换器资料

剑指Offer 34.二叉树中和为某一值的路径 dfs+回溯

所有子字符串中的元音 —— LeetCode - 2063

同时求最大值与最小值(看似简单却值得思考~)

与TI的lvds芯片兼容-GM8284DD,GM8285C,GM8913,GM8914,GM8905C,GM8906C,国腾振芯LVDS类芯片,

STM32 CAN 介绍以及相关配置

【网络基础】浏览器输入一个URL之后,都发生了什么(详细讲解)
随机推荐
使用pyqt弹出消息提示框
【LeetCode】求和
剑指Offer 34.二叉树中和为某一值的路径 dfs+回溯
振芯科技GM8285C:功能TTL转LVDS芯片简介
idea中创建jsp项目详细步骤
STM32 CAN 介绍以及相关配置
【plang 1.4.3】定时器的使用
IDEA2021.2安装与配置(持续更新)
Comparative analysis of mobile cloud IoT pre-research and Alibaba Cloud development
向龙芯2K1000板子上烧写中标麒麟系统
剑指Offer 16.数值的整数次方 快速幂+ 递归
AD Actual Combat
unity学习(一):自动化创建模板脚本
【LeetCode】设计链表
剑指Offer 04.二位数组中的查找 线性查找
振芯科技GM8285C:功能TTL转LVDS芯片简介
改变文件的扩展名
分割回文串 DP+回溯 (LeetCode-131)
只出现一次的字符
NSIS来自己设定快捷方式的图标