# UIFrame **Repository Path**: leaffalling666/uiframe ## Basic Information - **Project Name**: UIFrame - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-26 - **Last Updated**: 2025-10-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UIFrame ### 结构 ![输入图片说明](Assets/%E8%AE%BE%E8%AE%A1%E5%9B%BE/uiframe.png) ![输入图片说明](Assets/%E8%AE%BE%E8%AE%A1%E5%9B%BE/uiframe2.png) ### 介绍 #### 📚️ 框架分为Panel层和Window层: **Panel** 用于管理面板界面,没有历史记录和队列的功能,通常用于常驻界面(小地图、体力槽等),可以同时显示多个,框架中根据PanelPriority进行 **分层显示** 。 **Window** 用于管理窗口界面,需要管理显示顺序、 历史记录 、队列展示的界面中(主菜单、设置界面、弹出对话框等),多个窗口需要显示时可以排队等待, **支持历史记录** 、 **支持优先队列** 、 **支持弹出窗口(Popup)** 。 #### 📚️ 红点树系统: 完成红点系统进行优化,使用 **脏节点列** 表更新树,将同一节点的变更合并。对树进行 **分帧处理** ,减少在同一帧内更新的内压力,分帧处理避免深层树节点递归造成的堆栈溢出。 ### 教程 #### 🚩 1.Window窗口功能: (1) **【FoceForeground强制前景类型】** 支持窗口历史记录。打开新窗口会立即显示,旧窗口进入历史栈,关闭当前窗口时从历史栈中打开上一个窗口。 (2) **【Enqueue队列类型】** 支持弹出多个窗口按照顺序显示。打开新窗口不立即打开,而是进入队列中,关闭当前窗口时从队列中打开下一个窗口。 (3) **【IsPopup】** 在弹出窗口层打开弹窗,弹窗打开时会在弹窗层打开黑色背景。 #### 🚩 2.Panel面板功能: (1)Panel通过PanelPriority枚举分层显示,含有:None默认层、Prioritary优先层、Tutorial引导层、Blocker阻塞层。 (2)层级显示顺序如下: Panel {None} → Window{None} → Panel {Prioritary} → Window{Popup} → Panel {Tutorial} #### 🚩 3.红点树: (1)通过完整路径进行注册,默认分隔符为”/“,可自行修改分隔符。 (2)编辑器可视化查看:Window / 红点树窗口 ### 其他 #### 🚩 1.动画: 项目使用AniComponent作为动画基类,完成了基本的动画播放、淡入淡出、缩放、平移,已导入DOTWeen可自行扩充。 #### 🚩 2.事件中心: 项目包含轻量事件中心管理,只需要定义信号配合信号中心使用。