unity DontDestroyOnLoad后跳转场景后不会出现重复物体

记录一下在DontDestroyOnLoad后,反复来回跳转场景确保物体的唯一性,话不多说看代码

public class Manager : MonoBehaviour
{private static Manager Instance;public static Manager GetInstance(){return Instance;}private void Awake(){if (Instance == null){Instance = this;MaskCanvas = TraverseAllObjects("MaskCanvas").gameObject;Brake = TraverseAllObjects("BrakeCanvas").gameObject;DontDestroyOnLoad(gameObject);DontDestroyOnLoad(MaskCanvas);DontDestroyOnLoad(Brake);}else{if (Instance != this){Destroy(TraverseAllObjects("MaskCanvas").gameObject);Destroy(TraverseAllObjects("BrakeCanvas").gameObject);Destroy(gameObject);}}
}    public static Transform TraverseAllObjects(string name){Transform s = null;try{// 获取场景中所有的根物体GameObject[] rootObjects = SceneManager.GetActiveScene().GetRootGameObjects();// 遍历所有根物体和它们的子物体foreach (GameObject rootObject in rootObjects){//   print(rootObject);TraverseHierarchy(rootObject.transform, name, ref s);}return s;}catch (System.Exception e) { return s; }}private static void TraverseHierarchy(Transform parent, string name, ref Transform returnObj){try{if (parent.name == name){returnObj = parent;}}catch (System.Exception) { }// 遍历当前父物体下的所有子物体foreach (Transform child in parent){// 处理子物体,这里可以添加你的逻辑try{//  print(child.name+"   "+ name);if (child.name == name){returnObj = child;}}catch (System.Exception){TraverseHierarchy(child, name, ref returnObj);}// 递归调用遍历子物体的子物体TraverseHierarchy(child, name, ref returnObj);}}
}

上面代码中不仅保留了物体的唯一性,还加入了一个查找Hierarchy面板物体的功能,查找范围在主场景中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/153337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++快速入门 - 2(几分钟让你快速入门C++)

C快速入门 - 2 1. 内联函数1.1 概念1.2 特性 2. auto关键字(C11)2.1 类型别名思考2.2 auto简介2.3 auto的使用细则2.4 auto不能推导的场景 3. 基于范围的for循环(C11)3.1 范围for的语法3.2 范围for的使用条件 1. 内联函数 1.1 概念 以inline修饰的函数叫做内联函数&#xff0c…

ceph学习笔记

ceph ceph osd lspoolsrbd ls -p testpool#查看 ceph 集群中有多少个 pool,并且每个 pool 容量及利 用情况 rados dfceph -sceph osd tree ceph dfceph versionsceph osd pool lsceph osd crush rule dumpceph auth print-key client.adminceph orch host lsceph crash lsceph…

常见树种(贵州省):008果树种类

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、苹果 …

maven打包插件配置模板

主要有两类&#xff1a; 1、maven-shade-plugin 主要用于java程序编写的的打包 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</ve…

白鳝:聊聊IvorySQL的Oracle兼容技术细节与实现原理

两年前听瀚高的一个朋友说他们要做一个开源数据库项目&#xff0c;基于PostgreSQL&#xff0c;主打与Oracle的兼容性&#xff0c;并且与PG社区版内核同步发布。当时我听了有点不太相信&#xff0c;瀚高的Highgo是在PG内核上增加了一定的Oracle兼容性的特性&#xff0c;一般也会…

SAP ABAP权限控制中常用TCODE

权限控制中的几个TCODE 1.创建新的权限对象并在程序中使用 利用SU21创建权限对象Z_TEST&#xff0c;在程序中检查授权。 检查的代码如下&#xff1a; AUTHORITY-CHECK OBJECT ‘Z_TEST’ID ‘ACTION’ FIELD ‘44′ID ‘BUKRS’ FIELD DUMMY .IF sy-subrc NE 0.MESSAGE e00…

【数据结构】图的广度优先遍历

一.广度优先遍历的基本思想 &#xff08;1&#xff09;访问顶点v&#xff1b; &#xff08;2&#xff09;依次访问v的各个未被访问的邻接点v1&#xff0c;v2&#xff0c;v3……&#xff0c;vk&#xff1b; &#xff08;3&#xff09;分别从v1&#xff0c;v2&#xff0c;v3……

linux环境搭建mysql5.7总结

以下安装方式&#xff0c;在阿里云与腾讯云服务器上都测试可用。 一、进入到opt目录下&#xff0c;执行&#xff1a; [rootmaster opt]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz解压&#xff1a; [rootmaster opt]#…

Avalonia UI框架介绍

Avalonia UI是一个跨平台的UI框架&#xff0c;它允许开发者使用XAML和C#语言创建可在多个平台上运行的应用程序&#xff0c;包括Windows、Linux、macOS等。Avalonia UI与WPF非常相似&#xff0c;但是它是开源的&#xff0c;并且更加灵活。 下面是一个简单的Avalonia UI应用程序…

基于springboot实现医院信管系统项目【项目源码+论文说明】

基于springboot实现医院信管系统演示 摘要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#x…

注解案例:山寨Junit与山寨JPA

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 上篇讲了什么是注解&am…

ros2机器人上位机与下位机连接方式(转载)

从硬件连接、通信协议和软件设计开发&#xff0c;上位机如何控制下位机&#xff1f; 由你创科技2023-09-07 10:38广东 随着科技的不断发展&#xff0c;自动化控制系统已经广泛应用于各个行业。在自动化控制系统中&#xff0c;上位机和下位机是两个重要的组成部分。上位机主要…

MLIR笔记(3)

4. 一些ODS定义 4.1. 特性&#xff08;trait&#xff09; MLIR支持一个完全开放的生态系统&#xff0c;因为任意方言都可以定义适合特定抽象层次的属性&#xff08;attribute&#xff09;、操作&#xff08;operation&#xff09;以及类型&#xff08;type&#xff09;。特性…

【漏洞复现】泛微E-Office信息泄露漏洞(CVE-2023-2766)

漏洞描述 Weaver E-Office是中国泛微科技(Weaver)公司的一个协同办公系统。 Weaver E-Office 9.5版本存在安全漏洞。攻击者利用该漏洞可以访问文件或目录。 影响版本 Weaver E-Office 9.5版本 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵…

vim模式用法总结

0.前言 我们用gcc编译文件的时候&#xff0c;如果发生了下面的错误&#xff0c;那么如何用vim打开的时候就定位到&#xff1f; 我们可以知道&#xff0c;这是第6行出现了错误&#xff1b; 所以我们使用vim打开的时候多输入个这个&#xff0c;我们就可以快速定位了 vim test.c 6…

外卖小程序系统:数字化时代餐饮业的技术奇迹

在当今数字化时代&#xff0c;外卖小程序系统正以其强大的技术背后支持&#xff0c;成为餐饮业务的一项奇迹。这个系统不仅提供了便捷的点餐体验&#xff0c;更通过先进的技术手段&#xff0c;实现了高效订单处理、智能推荐以及实时配送追踪。下面&#xff0c;我们将深入探讨外…

【六祎 - Dubbo】Dubbo 应用 XML配置分析;Dubbo 配置篇;Dubbo参考手册

Dubbo 应用 XML配置分析 演示案例&#xff1a;提供者代码xml配置消费者代码xml配置 参考地址&#xff1a; 手动配置 https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config/overview/ 配置说明 xml配置 https://cn.dubbo.apache.org/zh-cn/ov…

人工智能AI 全栈体系(十三)

第二章 计算机是如何学会下棋的 人类棋手在下棋时&#xff0c;会根据自己的经验只考虑在当前棋局下最重要的几个可能的走法&#xff0c;但是计算机没有这种经验。 知识太复杂了&#xff0c;需要考虑很多具体的情况&#xff0c;一旦知识总结的不到位&#xff0c;可能就会出现大…

#gStore-weekly | gBuilder功能详解之表单录入

gBuilder除了可以提供结构化数据映射以及非结构化数据抽取两种构建知识图谱的方式以外&#xff0c;还提供了表单录入的方式来构建知识图谱的数据&#xff0c;用户只需要根据设计好的schema将实体、属性以及关系通过填写表单的形式录入&#xff0c;再通过一键生成NT文件即可获得…

安装和初步使用 nn-Meter

安装和初步使用 nn-Meter nn-Meter: Towards Accurate Latency Prediction of Deep-Learning Model Inference on Diverse Edge Devices nn-Meter&#xff1a;精准预测深度学习模型在边缘设备上的推理延迟 Li Lyna Zhang, Shihao Han, Jianyu Wei, Ningxin Zheng, Ting Cao, Y…