北京网站维护浩森宇特,湖北高速公路建设网站,国际机票搜索量大涨,网站开发技术项目https://github.com/AMikeW/BStandShaderResources/blob/master/milk_UIFramework.unitypackage
UI框架支持如下功能#xff1a;
1、层级控制 2、支持面板多次打开时#xff0c;隐藏前一个打开的面板#xff0c;当关闭面板时#xff0c;能够恢复前一个打开面板状态 3、支…https://github.com/AMikeW/BStandShaderResources/blob/master/milk_UIFramework.unitypackage
UI框架支持如下功能
1、层级控制 2、支持面板多次打开时隐藏前一个打开的面板当关闭面板时能够恢复前一个打开面板状态 3、支持面板多个同时显示 4、支持全屏面板打开时隐藏全部UI全屏面板UI关闭时恢复全部UI并兼容多次全屏面板打开时对前一个全屏面板的隐藏。 5、支持对长时间不活跃的面板销毁回收操作
可扩展优化点 1、更具体的面板资源卸载回收 2、全屏界面打开时精确隐藏全屏界面之前的界面而不是全部。 3、扩展UIView类支持动画打开、关闭支持界面BGM配置 4、Unity编辑器扩展开发一个自动生成C#类脚本工具根据简易配置快速搭建UI和创建UI脚本以及自动生成UI相关序列化数据文件。 5、扩展UGUI的组件例如ScrollView 扩展无限循环列表下拉列表扩展... ; 支持无渲染的可点击图片等等...
讲解部分
UI资源加载器UIResourcesLoader类 同步、异步加载面板预制体接口 面板数据UIWindowData类 名称、预制体路径、层级名称、是否允许同时显示多个、是否全屏 UI管理器UIManager类 创建面板 面板由窗体UIWindow类持有 窗体类 窗体名称与面板名称一致、活跃面板栈、不活跃面板队列、面板状态数据栈 销毁面板 打开面板 若打开的面板不允许同时显示多个检测到已有同名面板处于Active状态通过检查面板所属窗体对象的活跃面板栈0则对显示中的同名面板进行【特殊关闭】并缓存面板状态数据放入窗体对象的【面板状态数据栈】以备恢复面板使用。 若打开的面板是全屏UI则打开后对所有活跃的面板Hide。 关闭面板 关闭当前面板前若关闭的面板是全屏UI且【全屏UI活跃数】 1 时则进行恢复显示出全部被隐藏的活跃面板。 关闭当前面板后创建一个回收面板计时对象持有回收倒计时、面板View对象等待回收如果再次激活被关闭的面板对象则会销毁回收面板倒计时对象。 关闭当前面板后检查面板窗体对象的不活跃面板队列0且【面板状态数据栈】0时则需恢复同名面板的【特殊显示】。 【特殊关闭】和【特殊显示】不会对【全屏UI活跃数】产生影响。 【全屏UI活跃数】位于UIView类的Open和Close分别进行和--操作仅当isSpecial为假时