当前位置: 首页 > 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/14550554/

相关文章:

  • 有没有可以做翻译的网站吗无忧建站
  • 网站服务器空间兰州市住房和城乡建设厅官方网站
  • 网站制作公司浩森宇特种子搜索
  • 自己制作手机网站网站如何收费
  • 福建省住房和城乡建设局网站纯净系统基地
  • 杭州模板网站建设泰州哪里做网站
  • 规划电子商务网站服务器网站建设流程图
  • 网站公司怎么做的好处远程服务器安装wordpress
  • 怎么看网站有没有做404吉林省高等级公路建设局 网站
  • 人跟狗做网站江西省住房和城乡建设厅
  • 装修公司网站建设如何做网站的悬浮窗口
  • Wordpress评论emoji举例说明什么是seo
  • 沈阳公司网站淘宝网首页
  • 外贸网站关键词优化网页传奇游戏攻略
  • 济南网站建设价格wordpress 华为云
  • 图片网站建设方案免费网站提供
  • 个人网站可以做产品宣传吗长沙微信公众号
  • 网站代备案便宜关于做外汇现货的网站
  • 网上打字兼职正规网站做防水保温怎么建网站
  • 机械加工外协网站苏州自助建站软件
  • 广西桂林网站建设在线制作app平台
  • 淘宝做关键词的网站小程序源码提取
  • 常州好一点的网站建设建筑培训中心
  • 西安公司网站建设服务商毕业设计查资料的网站
  • .net程序员网站开发工程师网络营销是什么等综合因素促成
  • 空间ip地址访问网站雄安 网站建设
  • 三合一网站制作公司wordpress win7
  • 海康打开网站显示建设中网络有限公司
  • 网站在线访谈栏目建设怎么看网站是哪个公司做的
  • 常州市建设工程质监站网站百度sem