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

玉林做网站的公司企业网站推广哪家好

玉林做网站的公司,企业网站推广哪家好,成都房屋装修设计公司,温州市建设监理协会网站前言 在Unity程序设计过程中#xff0c;我们处理的第一个对象是Application Instance。 它的主要职责是启动流程管理、卸载流程管理#xff0c;次要职责是管理在内部的子系统生命周期。其他职责#xff0c;提供或桥接应用程序的配置信息、及其他第三方接口。 它通常以单例的…前言 在Unity程序设计过程中我们处理的第一个对象是Application Instance。 它的主要职责是启动流程管理、卸载流程管理次要职责是管理在内部的子系统生命周期。其他职责提供或桥接应用程序的配置信息、及其他第三方接口。 它通常以单例的形式存在在场景中即使在切换场景时也不会被删除。 设计需求         可以自定义异步启动流程、或卸载流程App 自动完成子系统的初始化和卸载工作子系统是可轻松扩展的通过App Instance可以轻松访问到子系统实例 UML结构 UML类结构示例 代码示例 // XApplication.Utils.cs // Create by UniMarknamespace XF {public interface IApplication {void Startup();void Initialize();void Deinitialize();void Shutdown();}public interface IApplicationSubSystem {int InitializeSequence { get; }void Initialize(XApplication application);void Deinitialize();} } // XApplication.cs // Create by UniMarkusing System; using System.Collections.Generic; using UnityEngine;namespace XF {public sealed class XApplication : MonoBehaviour{private IApplication Application;private IApplicationSubSystem[] ApplicationSubSystems new IApplicationSubSystem[0];private DictionaryType, IApplicationSubSystem QuickReferenceTable;private void Awake (){Debug.Log($启动 [XApplication] 实例 ({gameObject.name}));if ( ( Application GetComponentIApplication() ) null ){throw new Exception(你需要实现IApplication的接口);}ApplicationSubSystems GetAllApplicationSubSystemWithSequence();QuickReferenceTable GetQuickReferenceTableWithAppSubSystem(ApplicationSubSystems);Application.Startup();}private void Start (){if ( ApplicationSubSystems.Length 0 ){Debug.Log(实例化应用内联系统 ...);for ( int index 0; index ApplicationSubSystems.Length; index ){var subSystem ApplicationSubSystems[index];var time Time.time;subSystem.Initialize(this);Debug.Log($释放: {subSystem.GetType().Name} 耗时 {( Time.time - time ).ToString({0.000})}s);}}if ( Application ! null ){Debug.Log(实例化应用 ...);Application?.Initialize();}}private void OnDestroy (){if ( Application ! null ){Debug.Log(释放应用 ...);Application?.Deinitialize();}if ( ApplicationSubSystems.Length 0 ){Debug.Log(释放应用内联系统 ...); for ( int index ApplicationSubSystems.Length - 1; index 0; index-- ){var subSystem ApplicationSubSystems[index];var time Time.time;subSystem.Deinitialize();Debug.Log($释放: {subSystem.GetType().Name} 耗时 {(Time.time - time).ToString({0.000})}s);}}Debug.Log($关闭 [XApplication] 实例 ({gameObject.name}));Application.Shutdown();Application null;ApplicationSubSystems null;QuickReferenceTable null;}private IApplicationSubSystem[] GetAllApplicationSubSystemWithSequence (){var list new ListIApplicationSubSystem();GetComponentsInChildren(true, list);list.Sort(( a, b ) a.InitializeSequence.CompareTo(b.InitializeSequence));return list.ToArray();}private DictionaryType, IApplicationSubSystem GetQuickReferenceTableWithAppSubSystem ( IApplicationSubSystem[] systems ){DictionaryType, IApplicationSubSystem result new DictionaryType, IApplicationSubSystem();foreach ( var system in systems ){if ( false result.TryAdd(system.GetType(), system) ){throw new Exception($包含相同类型的子系统 {system.GetType().Name});}}return result;}#region APIpublic T GetSubSystemT () where T : MonoBehaviour, IApplicationSubSystem{if ( QuickReferenceTable.TryGetValue(typeof(T), out var system) ){return system as T;}throw new Exception($不存在的子系统 {typeof(T).Name});}#endregion} } // XGame.cs // Create by UniMarkusing System; using UnityEngine; using XF;public abstract class XGameT : MonoBehaviour, IApplicationwhere T : XGameT {public static T Instance{get; private set;}public XApplication Owner{get; private set;}// 定义你自己的系统在这里 public TestSubSystem TestSystem { get; private set; }void IApplication.Startup (){if ( Instance ! null ){throw new Exception($[{gameObject.name}]{this.GetType().Name}类存在多实例异常!);}Instance this as T;GameObject.DontDestroyOnLoad(gameObject);Owner GetComponentXApplication();// 初始化你的系统在这里TestSystem Owner.GetSubSystemTestSubSystem();}void IApplication.Shutdown (){Instance null;Owner null;// 释放你的系统在这里TestSystem null;}void IApplication.Initialize () StartGame();void IApplication.Deinitialize () QuitGame();protected abstract void StartGame ();protected abstract void QuitGame (); }// GameIns.cs // Create by UniMarkusing UnityEngine; using XF;public class GameIns : XGameGameIns {#region 生命周期protected override async void StartGame (){// 加载配置文件 // await 配置文件加载完毕// 做个测试var testSystem Owner.GetSubSystemTestSubSystem ();Debug.Log(testSystem.GetMessage());// 进入第一个场景}protected override void QuitGame (){// 在这里卸载业务载入的资源和数据}#endregion }// TestSubSystem.cs // Create by UniMarkusing UnityEngine;namespace XF {#region 非正式代码public class TestSubSystem : MonoBehaviour, IApplicationSubSystem{[SerializeField]private int InitializeSequence;int IApplicationSubSystem.InitializeSequence InitializeSequence;private XApplication Owner;void IApplicationSubSystem.Initialize ( XApplication application ){Owner application;}void IApplicationSubSystem.Deinitialize (){Owner null;}public string GetMessage (){return Hello Here!;}}#endregion } 代码组织结构 -| Scripts         --| Core                 ---| SubSystems                         ---- TestSubSystem.cs                 --- XApplication.cs                 --- XApplication.Utils.cs                 --- XGame.cs         -- GameIns.cs 创建应用程序预制体 预制体组织结构 XApplication 节点 TestSubSystem 节点 下载代码示例  下载demo
http://www.hkea.cn/news/14265623/

相关文章:

  • 仿素材网站乌克兰服务器
  • 萧山工程建设有限公司网站网站备案抽查号码
  • 网站开发 产品经理网站内容管理系统怎么用
  • 刷赞网站怎么做的眉山市网站建设
  • 技术支持 天空网络-临汾做网站建网站学什么软件
  • 福州企业网站建站模板外贸展示型模板网站模板下载
  • 餐饮企业网站设计什么是网站名
  • 学校网站制作公司青岛建设网站的公司
  • 做企业网站专用词传奇游戏排行榜前十名
  • jsp电商网站开发流程公司建设网站的费用吗
  • 合肥市公司网站建设签署网站建设协议新闻
  • 快速建站实例演示完整版汕头市住房和城乡建设局网站
  • 网站建设与维护项目六平台企业采用劳务派遣方式用工的
  • 古色古香的网站模板项目建设备案网站
  • 怎样做个人网站浙江建筑培训网
  • 金华高端网站设计wordpress php配置文件
  • 什么网站免费做推广seo搜索引擎实战详解
  • 站长推荐自动跳转网页设计ppt课件
  • 厦门蓝典网站建设朝阳网站建设开发
  • 重庆网站推广 软件三网合一网站怎么做
  • 嘉兴做网站的江西省建设质量监督局网站
  • 免费的网站空间申请门户网站英文版建设
  • 网站建设佰首选金手指十四怎样找竞争对手网站
  • 网站模板免费下载酒店管理系统网页制作基础教程字体居中颜色
  • 廊坊建站公司模板网页美工设计素材
  • 提供网站建设公司有哪些网站登录账号密码保存在哪里
  • 有哪些网站是封面型购物网站首页图片
  • 北镇网站建设网站建设需要注意
  • 长沙精品网站建设公司wordpress 修改路径
  • 油气集输毕业设计代做网站wordpress抓取新闻