这是一个用于 Unity 的轻量级 UI 框架样例,包含 UI 管理器、视图基类、示例视图与 UI 逻辑分离的实现。适合作为小型游戏或项目的 UI 架构参考与快速集成模板。
- 简单的 UI 管理器与视图生命周期管理
- 视图(UIView)与逻辑(UILogic)分离,便于测试与维护
- 提供示例视图与逻辑(PlayingState)
- 包含编辑器辅助脚本(用于自动化/生成组件)
Editor/UIComponentGenerator.cs— 编辑器脚本,辅助生成/管理 UI 组件Scripts/UI/UIManager.cs— 全局 UI 管理器(入口/调度)Scripts/UI/UIViewBase.cs— 视图基类,所有具体 UI 视图继承自此Scripts/UI/IUILogic.cs— UI 逻辑接口定义Scripts/UI/IUIManager.cs— UI 管理器接口定义Scripts/UI/UIArgs.cs— 视图/逻辑间传递的参数类型Scripts/UI/Enum/UILayerEnum.cs— UI 分层枚举定义Scripts/UI/Loading/UIAssetProvider.cs— UI 资源加载提供者(抽象/示例)Scripts/UI/Logic/PlayingStateUILogic.cs— 示例 UI 逻辑实现Scripts/UI/Views/PlayingStateUIView.cs— 示例视图实现
(更多辅助 meta 文件存在于工程中,用于 Unity 导入)
- 将
Editor/与Scripts/文件夹(或对应文件)复制到你的 Unity 项目的Assets/下(例如Assets/UISystem)。 - 打开 Unity,等待编译完成。
- 查看并参考示例:
Scripts/UI/Views/PlayingStateUIView.csScripts/UI/Logic/PlayingStateUILogic.cs它们演示了视图与逻辑如何配合。
- 在需要显示 UI 的地方使用
UIManager提供的接口(项目中有IUIManager/UIManager,请参考其实现里暴露的方法进行调用)。
注意:不同项目对 UI 显示/隐藏、资源加载的实现会不同,建议根据 UIAssetProvider 的抽象替换为你项目的资源加载实现(Addressables、Resources、AssetBundle 等)。
- 新建视图:继承
UIViewBase,实现初始化与销毁逻辑。 - 新建逻辑:实现
IUILogic接口,将视图交互事件转发到逻辑层。 - 替换资源加载:实现或扩展
UIAssetProvider,接入你项目的资源管理方案。 - 编辑器工具:
UIComponentGenerator可用来自动化创建绑定脚本或组件(按需调整)。
欢迎提 issue 与 pull request。建议提交前:
- 保持代码风格一致
- 补充或更新示例
- 添加说明或测试用例,便于后续维护
建议使用 MIT 许可证(如果你希望开源且可自由使用)。如果需要我可以生成 LICENSE 文件内容。