Unity组件的基类单例模式

本文介绍了Unity中组件的单例模式,强调了它与其他语言单例模式的相同点和不同点,如构造参数私有、实例变量及获取实例的方法。文章详细讲解了在Unity组件实例化过程中的特殊步骤,以及如何避免将单例持久化到场景中。通过提供Singleton基类的代码示例,展示了如何实现和使用Unity组件的单例模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 背景

单例模式非常常见,在各种语言上都能见到,用处也十分广泛,前一篇文章有讲到python的两种单例模式。当然Unity中组件的单例模式用途也很广,例如游戏中各种Manager, 使用StartCoroutine, GetComponent等方法的单例,本文简要讲述一下Unity中对于组件的单例模式如何构建。

1. 相同之处

首先既然是单例模式,也就符合单例的一些既定规则:

- 构造参数为私有;

- 存在static的实例变量名instance

- 存在static的方法-Instance or GetInstance,以获取instance,若第一次获取instance则需要new一个实例。

2. 不同之处

- 既然是Unity的组件Component,在new组件实例时: 先需要new GameObject, 然后new Component, 并把新建的组件实例挂载到GameObject

- 当然这个新建的GameObject不能持久化到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值