unity什么是unity3d 单例模式

游戏中需要一些 GameObject(例如网络管理器) 在游戏的整个生命周期都存在,而且是以单例的形式存在。
&XGame 中实现这种单例的方式是,单例脚本都从 MonoSingle 类继承,MonoSingleton 的实现方法是在 Awake() 中调用DontDestroyOnLoad(gameObject);来保证单例。
MonoSingleton类的实现代码:
1 /// &summary&
2 /// Generic Mono singleton.
3 /// &/summary&
4 using UnityE
6 public abstract class MonoSingleton&T& : MonoBehaviour where T : MonoSingleton&T&{
private static T mInstance = null;
public static T Instance{
private void Awake(){
if (mInstance == null)
DontDestroyOnLoad(gameObject);
mInstance = this as T;
mInstance.Init();
Destroy(gameObject);
public virtual void Init(){}
public virtual void Fini(){}
private void OnApplicationQuit(){
mInstance.Fini();
mInstance = null;
需要单例控制的脚本,只要从 MonoSigleton 类继承就可以了,重写 Init 方法来实现单例自己的初始化,重写 Fini 实现自己的清理工作。例如:
阅读(...) 评论()15被浏览958分享邀请回答13 条评论分享收藏感谢收起拒绝访问 | www.ggdoc.com | 百度云加速
请打开cookies.
此网站 (www.ggdoc.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3dff3c5d7e2a4394-ua98).
重新安装浏览器,或使用别的浏览器他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Unity中的单例模式到底怎么写怎么用_百度知道
Unity中的单例模式到底怎么写怎么用
我有更好的答案
/注册事件}function OnGUI () {if (GUILayout.Button(&/创建对象event.AddListener(Hello).UnityEvent (),就是UnityEvent。UnityEvent继承自UnityEventBase,主要通过三个函数实现对事件的注册与响应,示例:#pragma strictvar event : Events.UnityE
//此处不能直接使用UnityEvent,需指明Eventsfunction Start () {event = new E
&#47在Unity中也有如同Java一样的实现事件注册机制的类
主营:软件开发,广告制作、发布、代理
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 unity3d 单例模式 的文章

 

随机推荐