# Unity UI Framework **Repository Path**: rainssoft/unity-ui-framework ## Basic Information - **Project Name**: Unity UI Framework - **Description**: 用于 Unity 平台的UI调度管理(简易)框架。 - **Primary Language**: C# - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-07-18 - **Last Updated**: 2024-10-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Unity UI Framework ___ ## 介绍 应用于 Unity 平台的 UI管理框架。基于 UnityEngine & UnityEditor & .Net 环境运行。 ## 安装教程 1. 前往 [发行版](https://gitee.com/River314588804/unity-ui-framework/releases) 下载即可。 2. 将下载文件拖拽至 unity 编辑期内即可 ## 使用说明 ### 3.1 准备环境 1. 拖拽 UIFramework/Prefab 目录下 UI Framewrok.prefab 至场景中 或 新建 Canvas 对象为其添加 `UIMgr.cs` 组件 2. 新建 `AppEntry.cs` 为其添加下述代码进行初始化与调度 ``` public class AppEntry { public void Start() { // 初始化 UI 系统 UIMgr.Init(); UIMgr.Open(); } } ```   为便于管理何时使用 `UIMgr`,提供 `UIMgr.Init()` 用于初始化 UI Framework 运行环境。之后以 `Open` 访问。 ### 3.2 制作UI 1. 新建 UI Image 对象 2. 为 UI Image 添加 `PageHome.cs` 组件。并在组件内使用 `UIFramework.UIDetail` 特性与 继承`UIFramework.UIBase`基类。如下所示 ``` [UIDetail("首页", "UIPrefab/PageHome")] public class PageHome : UIBase {} ``` - `UIDetail`:为资产绑定特性。提供路径参数,在目前版本的加载方式以 `Resources.Load` 作为主要方式进行。 - `UIBase`:为 UIMgr 管理的周期基类。提供 `StartUI` | `ActiveUI` | `DeActive` 管理周期。如: ``` public override void StartUI() {} ``` ### 3.3 UI特性 |特性|描述|最新版本是否支持|发行版是否支持| |--|--|--|--| |阻挡|阻止UI检测穿透当前页|| |关旧|关闭历史已打开页面|√|√| |蒙版|页面增加灰度背景||| |记录|页面作为根页存在,可回退或被回退||| |可关|页面允许被"关旧"|√|√| |单例|仅允许最多出现一个该页面对象|√|√| |四周型|页面设置为四周跟随屏幕大小变化|√|| ## 常见问题 ### 如何关闭非`可关`页面 ``` UIMgr.Close() ```