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

Unity 单例-接口模式

单例-接口模式


使用接口方式实现的单例可以继承其它类,更加方便

在这里插入图片描述

using System.Collections;
using System.Collections.Generic;
using UniRx;
using UniRx.Triggers;
using UnityEngine;
namespace ZYF
{public interface ISingleton<TMono> where TMono : MonoBehaviour{private static string rootName = "MonoSingletonRoot";private static GameObject monoSingletionRoot;private static bool isSpawnRootGo = false;static TMono _instance;public static TMono Instance{get {if (_instance == null && Application.isPlaying){_instance = GameObject.FindObjectOfType<TMono>();if (_instance == null){if (monoSingletionRoot == null){monoSingletionRoot = GameObject.Find(rootName);if (monoSingletionRoot == null && isSpawnRootGo ==false) {isSpawnRootGo=true;monoSingletionRoot = new GameObject(rootName);monoSingletionRoot.OnDestroyAsObservable().Subscribe(_ => {isSpawnRootGo = false;}).AddTo(monoSingletionRoot);}}if (monoSingletionRoot != null){_instance = monoSingletionRoot.GetComponent<TMono>();}if (_instance == null){if (monoSingletionRoot != null){_instance = monoSingletionRoot.AddComponent<TMono>();}else{Debug.Log(rootName + "null!!!");}}}}if (_instance == null){Debug.Log(typeof(TMono).Name + "Null");}return _instance;}}}
}
http://www.lryc.cn/news/204651.html

相关文章:

  • 【Java 进阶篇】Java XML解析:从入门到精通
  • 【图像配准】Canny边缘检测+模板配准红外可见光双路数据
  • 关于单机流程编排技术——docker compose安装使用的问题
  • Google Chrome的新“IP保护”功能将隐藏用户的IP地址
  • 做机器视觉工程师,苏州德创能不能去工作?
  • 交换机基础(二):VLAN 基础知识
  • 一个基于Vue3搭建的低代码数据可视化开发平台
  • 经验风险最小化与结构风险最小化:优化机器学习模型的两种方法
  • Java泛型中的问号是什么意思
  • 粤嵌实训医疗项目day02(Vue + SpringBoot)
  • 又是一年1024程序员日
  • acme.sh签发和部署ZeroSSL泛域名证书
  • Calibre拾遗:FDI (Foreign Database Interface)系统简介
  • 记一次渗透测试事件
  • AIGC笔记--基于DDPM实现图片生成
  • 三十七、【进阶】SQL的explain
  • 【Python】取火柴小游戏(巴什博弈)
  • 030-第三代软件开发-密码输入框
  • mysql读取文件
  • CentOS(5)——rpm包和源码包区别
  • Golang 实现对配置文件加密
  • MYSQL数字函数详解和实战(数字函数大全,内含示例)
  • Linux系列讲解 —— VIM配置与美化
  • FreeSWITCH 使用指北(2)-多段音频顺序播放的设置
  • 使用python爬虫语言调用有道翻译实现英中互译(2023实现)
  • 2024王道考研计算机组成原理——指令系统
  • vscode中如何将cmd设置为默认终端
  • Unity UGUI 循环滑动列表实现思路及简单代码实现
  • 贪心算法(1)--经典贪心算法
  • Nginx负载均衡和备份和故障转移