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

公司网站建设应注意事项网站建设兼职劳务协议

公司网站建设应注意事项,网站建设兼职劳务协议,肇东市建设局网站,网站商城运营模式前提 继承MonoBehaviour的脚本不能new继承MonoBehaviour的脚本一定得依附在GameObject上 实现挂载式的单例模式基类 挂载式 继承Mono的单例模式基类 /// summary /// 挂载式 继承Mono的单例模式基类 /// /summary /// typeparam nameTsummary /// 挂载式 继承Mono的单例模式基类 /// /summary /// typeparam nameT/typeparam public class SingletonMonoT: MonoBehaviour where T:MonoBehaviour {private static T instance;public static T Instance{get{return instance;}}// 子类可能要重写Awake函数所以设置为虚函数protected virtual void Awake(){instance this as T;} } TestMgr2继承单例模式的基类然后把脚本挂在到游戏对象上去才能在Awake赋值 public class TestMgr2 : SingletonMonoTestMgr2 {private int i;protected override void Awake(){// 重写Awake时候这里不能省略base.Awake();i 0;}public void TestLog(){print(TestMgr2 i);}} 测试 public class Main : MonoBehaviour {private void Start(){TestMgr2.Instance.TestLog();}}缺点 因为很容易被破坏单例模式的唯一性 1.挂载多个脚本 2.切换场景回来时由于场景放置了挂载脚本的对象回到该场景时 又会有一个该单例模式对象 3.还可以通过代码动态的添加多个该脚本 也会破坏唯一性 修改Awake /// summary /// 挂载式 继承Mono的单例模式基类 /// /summary /// typeparam nameT/typeparam public class SingletonMonoT: MonoBehaviour where T:MonoBehaviour {private static T instance;public static T Instance{get{return instance;}}// 子类可能要重写Awake函数所以设置为虚函数protected virtual void Awake(){//已经存在一个对应的单例模式对象了 不需要在有一个了if(instance ! null){// 只会移除脚本Destroy(this);return;}instance this as T;//我们挂载继承该单例模式基类的脚本后 依附的对象过场景时就不会被移除了//就可以保证在游戏的整个生命周期中都存在 DontDestroyOnLoad(this.gameObject);} }实现自动挂载式的单例模式基类 创建单例模式基类SingletonAutoMono实现动态挂载脚本 /// summary /// 自动挂载式的 继承Mono的单例模式基类 /// 推荐使用 /// 无需手动挂载 无需动态添加 无需关心切场景带来的问题 /// /summary /// typeparam nameT/typeparam public class SingletonAutoMonoT : MonoBehaviour where T:MonoBehaviour {private static T instance;public static T Instance{get{if(instance null){//动态创建 动态挂载//在场景上创建空物体GameObject obj new GameObject();//得到T脚本的类名 为对象改名 这样再编辑器中可以明确的看到该//单例模式脚本对象依附的GameObjectobj.name typeof(T).ToString();//动态挂载对应的 单例模式脚本instance obj.AddComponentT();//过场景时不移除对象 保证它在整个游戏生命周期中都存在DontDestroyOnLoad(obj);}return instance;}}}Test2Mgr2继承单例模式基类 public class Test2Mgr2 : SingletonAutoMonoTest2Mgr2 {public void TestLog(){print(Test2Mgr2);} }测试 public class Main : MonoBehaviour {private void Start(){Test2Mgr2.Instance.TestLog();}}潜在的安全问题 构造函数问题 继承MonoBehaviour的函数不能new所以不用担心公共构造函数多线程问题 Unity主线程中相关内容不允许其他线程直接调用很少有这样的需求所以也不用太担心重复挂载问题 手动重复挂载代码重复添加 需要人为干涉定规则或者通过代码逻辑强制处理
http://www.pierceye.com/news/713393/

相关文章:

  • 类似于美团的网站开发两学一做网站专栏怎么设置
  • 天津seo网站管理千川推广官网
  • 技术支持 光速东莞网站建设企业信息免费查询系统
  • 网站设计主流尺寸weui wordpress模板
  • 汕头市网站建设商机互联网站建设
  • 口碑好的网站建设苏州园区做网站公司
  • 网站互联网设计图风格网站服务器异常是什么意思
  • 有哪些好的做兼职网站有哪些免费做ppt的网站
  • 学生成绩管理系统网站建设上海公共招聘网12333官网
  • 邵东做网站的公司wordpress修改文章字体颜色
  • 那个网站百度收录快天河高端网站建设
  • 网站建设 客户拜访wordpress设置新页面
  • 做百度推广送的网站网站建设中gif
  • 网站风格介绍wordpress怎么给产品编号
  • 站长聚集地深圳网络提速优化服务包
  • 西安外贸网站建设公司网站域名过期后续费多长时间生效
  • 网站制作资质2017建设厅网站
  • 网站系统开发毕业设计哈尔滨seo优化软件
  • 南通企业网站网站制作的书籍
  • 长沙网站收录怎么网站能找人做装修事
  • 鞍山网站制作谁家好2021没封的网站有人分享吗
  • 网站建设公司net2006iis虚拟网站
  • 有哪些竞价网站wordpress手机端网站模板下载
  • 浙江建设厅网站施工员报名莱芜庞允盟
  • 网站建设 销售 知乎云南网站设计外包
  • 网站建设怎么学习phpcms门户网站
  • 佛山营销型网站定制三站合一网站建设方案
  • 广州市哪有做网站的查找全国免费网站建设
  • 江门seo网站推广跳动爱心代码html教程
  • 网站退出率网易搜索引擎入口