UI框架
2026-01-16 17:44:17 0 举报
SlgUI框架
作者其他创作
大纲/内容
提供创建UI通用模板也需要走一套UI逻辑
基类:EventSender 提供消息收发
UI实例初始化1.加载预设 2.通用绑定 3.状态变更4.事件监听 5.自定义初始化
Layer
生命:100
Grid
英雄1
装备页签
英雄4
componentTypes
升级消耗:100
UIComponent(UILoop这种控件)自动初始化 自动释放例如 Image Text ..例如自定义的 TImage UIClickListener
接口:IDispose dispose();提供销毁方法
UI实例刷新必须Open状态才能刷新
基类:BaseItem<T> 需要手动初始化 手动释放例如一个UI上面有5个slot信息 slot信息包括多个子节点 需要用一个通用模板刷新它们
RuleTile
Close1.移除监听
任何页签下面都有英雄列表可以选取1.以页签为主 升级页签表示:任何英雄可以升级都有红点2.英雄为主 选中英雄1 英雄1可以升级 升级页签才有红点
升星页签
英雄5
客户端:Layer分4层,1层:地表 2层:地面 3:围墙 4:建筑Layer支持动态增删
英雄2
需要基类释放的
基类:UIWindow<T> 继承UIBind 继承IWindow通过UIInfo加载预设
UIComponent也包括UILoop这种控件
Dispose1.销毁通用模板 2.销毁自定义控件3.销毁自身
升级页签
1.单个英雄卡牌 需要监听英雄任意红点(升级 星级 装备)2.英雄主界面 3个页签根据英雄 升级 星级 装备 显示红点
Cell
英雄3
特殊控件类:红点系统:UIRedPointNodepublic UIRedPointNode redPoint;
接口:IWindow提供一些必要接口子类需要实现用于UIMgr等一些容器管理
基类:BaseUI<T> 例如 背包UI 英雄UI 这种单独的大UI这些UI位于主节点下面 如右图
UI设计方式1
UIInfo结构public static UIInfo BagUI = new UIInfo(\"BagUI\
基类:UIBind 继承EventSender 继承IDisposethis[\"nodeName\"]访问某一个Transform节点preBind()方法会自动绑定声明的Public的UIComponent(反射创建)List<IDispose> customComps 缓存了customTypes的UIComponent用于释放loadStencil方法 提供加载一些模板 比如ItemSlot HeroCard MoneyNode
UI设计方式2 选择一个英雄再打开英雄主界面
基类:BaseStencil<T>例如 ItemSlot MoneyNode HeroCard这些模板UI也可以是UI拆分后的页签 比如 一个英雄UI 页签1是英雄信息 页签2是英雄升级 页签3 英雄升星 页签4英雄技能可能一个UI有N个页签 打开某个页签加载某个页签预设并刷新这些UI位于BaseUI的某个节点下面 也可以是BaseStencil的某个节点下面
disposeTypes
收藏
0 条评论
下一页