界面配置
- 层级(HUD、Scene、Panel、SubPanel、Tip、Guide、Top)
- 背景类型(模糊,半透,半透模糊)
- 界面模式(只打开、可回退 放入隐藏栈(打开其他界面关闭界面渲染)、不回退(打开其他界面直接关闭自己))
- 界面生命周期(关闭销毁,关闭一段事件不销毁,常驻)
- 动画类型(无,打开时播放、关闭播放,开关播放)
- 打开界面音效
- 关闭界面音效
- BGM
- 点击界面外是否关闭界面
- 是否清空回退栈
设计
- 一个层级一个canvas,一个界面一个canvas
- 界面的 SortingOrder = 根据所在的层Order + 所在的层的个数 * 2 + 2,(之所以+2是预留一个来显示背景模糊使用)
- 使用字典保存界面
- 使用栈记录界面打开顺序,关闭界面时显示上一个界面
- 打开一个界面,关闭上一个界面的渲染(是否放入隐藏栈)? 打开一个在栈中的界面(出现循环,栈清理?)
- 关闭一个界面,打开上一个界面的渲染(是否放入隐藏栈)?
- 界面状态(正在打开,已打开、显示中、正在隐藏、已隐藏、关闭动画中、准备开始删除、删除中、已删除、等待删除中)
- 防点穿
- 背景模糊
大致真理了一下框架流程图:
后续实现补充中......