找回密码
 立即注册
查看: 5549|回复: 80

[实例] unity 中的单件

  [复制链接]
发表于 2015-3-23 22:18 | 显示全部楼层 |阅读模式
资源信息 Tutorial Information
教程名称: unity 中的单件(发帖教程)
适用引擎:   (适用引擎,为空默认为Unity)
教程语种: 中文
教程等级: 2
教程格式: 文档(请用IE9以上浏览器访问本版块)
教程作者: miaooo (如有问题请短消息联系作者或发表回复)
下载地址: 请先登录 (兑换积分)
点击查看原图
美丽分割线
从下面这个类派生的所有类,将自动获得单件功能:
public class Singleton<T> : MonoBehaviour where T : MonoBehaviour{   
protected static T instance;   
/**      Returns the instance of this singleton.   */   
public static T Instance   {      
get      {        
if(instance == null)         {           
instance = (T) FindObjectOfType(typeof(T));            
if (instance == null)            {
               Debug.LogError("An instance of " + typeof(T) +                   " is needed in the scene, but there is none.");           
}         
}          return instance;      
}   
}
}单件可以作为一些管理器,例如ParticleManager或者AudioManager亦或者GUIManager。
  • 对于那些非唯一的prefab实例使用单件管理器(例如Player)。不要为了坚持这条原则把类的层次关系复杂化,宁愿在你的GameManager(或其他合适的管理器中)中持有一个它们的引用。
  • 对于外部经常使用的共有变量和方法定义为static,这样你可以这样简便的书写“GameManager.Player”,而不用写成“GameManager.Instance.player”。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2017-2-24 20:32 | 显示全部楼层
很不错
发表于 2017-2-24 20:49 | 显示全部楼层
楼主是超人
发表于 2017-2-24 20:33 | 显示全部楼层
顶顶多好
发表于 2017-2-24 20:47 | 显示全部楼层
真心顶
发表于 2017-2-24 21:03 | 显示全部楼层
很好哦
发表于 2017-3-9 13:47 | 显示全部楼层
楼主是超人
发表于 2017-3-9 13:56 | 显示全部楼层
真心顶
发表于 2017-3-9 14:04 | 显示全部楼层
难得一见的好帖
发表于 2017-3-9 13:53 | 显示全部楼层
说的非常好
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-4-28 10:52 , Processed in 0.152223 second(s), 38 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表