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

免费自助建站系统常州网站建设

免费自助建站系统,常州网站建设,广告推销网站,如何学做网站平台前言 如果在外部想在不同的时间结点、不同的位置访问某类中的成员且想要保持访问时#xff0c;成员地址唯一。那么可以考虑将该类声明为静态类#xff0c;但若是成员中包含公共的数据类型#xff0c;此时便可以考虑将该类做成一个单例。 单例模式 由于类中的数据#x… 前言 如果在外部想在不同的时间结点、不同的位置访问某类中的成员且想要保持访问时成员地址唯一。那么可以考虑将该类声明为静态类但若是成员中包含公共的数据类型此时便可以考虑将该类做成一个单例。 单例模式 由于类中的数据必须在实例化后堆栈才会为其分配变量的值以及引用类型的地址通过地址在静态存储区中也可访问其值。那么脚本文件每初始化一次不管数据相不相同已经是两个对象了那么需要读取或者更新的字段就有可能出错。所以要保证外界可访问自身需要在给类一个静态的公共自身成员作为访问的中间桥梁 private static T _instance; public static T Instance GetInstance();要保证单一对象 在第一次访问时new()如果已经实例化使用之前实例化过的对象 private static T GetInstance(){if (_instance ! null) return _instance;_instance new T();_instance.Initialize();return _instance;}public static void CreateSingleton() {GetInstance(); } 访问时SingletonAClass.Instance.Function();就可以访问到唯一的function方法了。 单例类 实际在开发中会根据需求做成单例类的形式使用不同的泛型约束构造成不同的基类。使用时根据需求继承即可。 不继承Monobehavior的形式 在做一些公共数据库的时候游戏频繁访问的一些实时数据一般会把它做成单例然后根据需求给数据一些 get set方法。 /// summary/// 通用单例。/// /summary/// typeparam nameT泛型T。/typeparampublic abstract class SingletonT where T : SingletonT, new(){private static T _instance;public static T Instance GetInstance();private static T GetInstance(){if (_instance ! null) return _instance;_instance new T();_instance.Initialize();return _instance;}public static void CreateSingleton(){GetInstance();}public static bool HasInstance(){return _instance ! null;}public static void DestroySingleton(){_instance?.UnInitialize();_instance null;}protected abstract void Initialize();protected abstract void UnInitialize();}继承自Monobehavior的形式 最常见的流程管理、总控的XXManager、XXController的脚本一般会频繁调用没有必要每次都实例化一个新的对象实际会做成单例。约束绑定继承自Monobehavior /// summary/// 具备Unity完整生命周期的单例。/// /summary/// typeparam nameT/typeparampublic abstract class UnitySingletonT : MonoBehaviour where T : MonoBehaviour{private static T _instance;public static T Instance{get{if (_instance null){var ins FindObjectOfTypeT();if (ins ! null){var obj ins.gameObject;obj.name typeof(T).Name;_instance ins;SingletonMgr.Retain(obj);return Instance;}System.Type thisType typeof(T);string instName thisType.Name;GameObject go SingletonMgr.GetGameObject(instName);if (go null){go GameObject.Find($[{instName}]);if (go null){go new GameObject($[{instName}]){transform {position Vector3.zero}};}}_instance go.GetComponentT();if (_instance null){_instance go.AddComponentT();}if (_instance null){Log.Error($Cant create UnitySingleton{typeof(T)});}}return _instance;}}public static T Active(){return Instance;}public static bool IsValid _instance ! null;private bool CheckInstance(){if (this Instance){return true;}GameObject.Destroy(gameObject);return false;}protected virtual void OnLoad(){}public virtual void Awake(){if (CheckInstance()){OnLoad();} #if UNITY_EDITORLog.Debug($UnitySingleton Instance:{typeof(T).Name}); #endifGameObject tEngine SingletonMgr.Root;if (tEngine ! null){this.gameObject.transform.SetParent(tEngine.transform);}}protected virtual void OnDestroy(){Release();}public static void Release(){if (_instance null) return;SingletonMgr.Release(_instance.gameObject);_instance null;}}
http://www.hkea.cn/news/14476856/

相关文章:

  • 做网站怎么赚钱吗网站建设文件夹结构
  • 网站服务器空间深圳做网站企业
  • 成都网站建设赢展设计网站
  • 网站建设实力宣传海报嘉兴专业网站建设
  • 网站响应式首页模板如何判断网站seo做的好坏
  • 做网站推广送什么微商城搭建平台
  • 模仿网站建设站建设ppt免费模板下载网站有哪些
  • 郑州正岩建设集团网站企业网站建站公司郑州
  • 网站建设怎么搭建服务器安卓网站开发平台
  • 做网站费用计入什么品牌网站建设毛尖2
  • 全功能多国语言企业网站建设厅网站账户名忘了怎么查
  • 广告公司简历模板深圳网络seo优化
  • 如何做好网站的优化的监测评价广州网站建设星珀
  • 专业软件网站建设百度上做网站推广
  • 用群晖nas做网站网站制作需要平台
  • 怎么用html做移动网站吗为外国企业做中文网站建设
  • 湖南移动网站建设网站建设v
  • 沈阳正规制作网站公司制作网页的最后一个阶段工作是什么
  • 株洲在线网站的目标客户网络技术学什么
  • seo排名推广工具杭州网站建设seo优化
  • 网站建设的人性分析影视网站建设
  • 网易那个自己做游戏的网站是什么原因西安做网站哪家公司好
  • 关于建设网站的请示报告商城网站用html做
  • 北京营销网站制作网站建设模板平台
  • 做网站放什么软件宁波seo优化公司排名
  • 从零开始建设网站中小学生教育网站建设方案
  • i岗网站建设电商小程序开发需要多少钱
  • 云建网站网址电子工程网络
  • 苏州网站开发公司哪里济南兴田德润简介郑州有没有厉害的seo
  • 网站建设及维护价钱网站开发及建设赔偿条款