- 这是一个能够让你在游戏制作中方便管理UI面板的框架
- 仅仅只需几行代码,就可以轻松
创建
更改
管理
UI面板 - 含有UI面板的
事件消息
,不同面板之间可以互传消息 - 也可进行事件
消息广播
- UIManager配备了UI面板的
生命周期
,方便您使用 - UIManager将简化您对游戏UI管理工作
- 使用UIManager需要引入
UIFrameWork
命名空间 - 在您制作UI面板时 请先引入
UIFrameWork.BasePanel
命名空间 - 再给你的面板加上
BaseUIPanel
脚本 - 或者编写特定的UI面板脚本时继承自
BaseUIPanel
- 将您制作好的UI面板预制物放入
Resources\UIPanel
文件夹中 - 您可以在脚本中使用
UIManager.ShowPanel(UI面板名称);
创建并显示该面板 - 例如:
UIManager.ShowPanel("GamePanel");
就创建了您放在UIPanel文件夹中的GamePanel面板 - 您也可以使用
UIManager.ShowPanel(UI面板名称,UI面板类型);
创建特定类型的面板 -
Singleton
,//唯一面板
-
Subclass
,//复合面板
- 唯一面板只能创建一次,当下次在使用ShowPanel时会将该UI面板放到最顶部并显示
- 复合面板可以创建多个,常用于游戏中的弹窗
- 关闭面板使用
UIManager.ClosePanel(UI面板名称);
UIManager.ClosePanel(UI面板序号);
- 获取面板使用
UIManager.GetPanel(UI面板名称);
UIManager.GetPanel(UI面板名称,UI面板类型);
UIManager.GetPanel(UI面板序号);
- 面板的生命周期说明
- 要使用生命周期 请覆写生命周期函数
- 例如
- internal override void OnShow()
- {
- }
OnShow()
//面板显示OnShouwing()
//面板显示中OnPause()
//面板暂停OnPausing()
//面板暂停中OnClose()
//面板关闭
- UI事件消息使用说明
- 事件消息类型
-
Send2All
,//发送给所有UI面板
-
SendTarget
,//发送指定UI面板
- 发送事件消息使用
UIManager.SendEvent(数据);
//广播给所有UI面板事件消息UIManager.SendEvent(数据,面板信息[名称/序号]);
//广播给所有UI面板事件消息
- UI效果说明
FadeInFX(面板,效果更新时间,更新速度,回调函数);
//淡入UI面板效果FadeOutFX(面板,效果更新时间,更新速度,回调函数);
//淡出UI面板效果- 回调函数 会在效果执行完毕后调用
- 如果不想要回调函数,这项参数您可以不填写
- 更多API可以查看
UIManager.cs
- 已知问题:
- UI面板类型还没有分地很清楚
- 使用带
UI面板名称
参数的方法,是找到面板托管栈上第一个找到该名称的面板 - 可能时唯一面板 也可能时复合面板,所以推荐使用
UI面板序列
参数 - 未来会加以改进
- 更新情况2019-7-23
- 加入了UIFX
- 可以给面板增加淡入和淡出的效果
- 2019-7-23编辑