fairygui / FairyGUI-unity

A flexible UI framework for Unity
https://fairygui.com
MIT License
2.68k stars 636 forks source link

一些优化和修正功能 #229

Open Geequlim opened 3 months ago

Geequlim commented 3 months ago

首先感谢 @xiaoguzhu 开源此优秀的UI框架。

这是我们的项目在使用 FairyGUI 开发 Unity 小游戏项目时对 FairyGUI 库做出的必要修改。这里向官方提交,方便大家使用,合并后也方便我们日后同步官方的库。

技术栈: Unity + FairyGUI + PuerTS 发布平台: 抖音小游戏/微信小游戏/Web端

每一项功能的修改都整理为单独的提交记录以方便审查。


对BUG修正这里不展开说。这里提一下一些新增的功能:

1. Dispose 流程的修改 和 onEnable/onDisable 事件

我们对 FairyGUI 实现 mobx 的 MVC 自动数据和视图绑定时为了实现数据自动绑定/解绑而做出的必要修改,onDispose 的调用顺序不正常则数据流不再可靠。 onEnable/onDisable 事件是实现自动绑定和解绑的关键功能而新增的组件,这里只有访问他们时才会创建,避免不必要的性能开销。

2. Groot 增加 popupLayer

用于指定弹窗的父容器来实现弹窗出现在UI中的某一层。 实际使用案例:

3. GLoader 3D 扩展

用于实现类似GLoader这样,通过为 url 赋值来展示3D特效等内容、这里就可以通过脚本实现资源加载和释放等操作。