unity UI框架

主要思想:栈的运用。使用一个栈来保存场景中的实例化出来的各个UI界面,使用Push()入栈方法显示栈顶界面,此时栈中其他界面不能交互。当关闭当前界面时使用Pop()弹栈方法关闭并移除当前界面,此时栈顶的元素变成第二个元素也就是第二个界面,该界面就重新获得交互能力。该栈使用一个管理类(UIManager)来进行维护。

UIManager,UI框架的核心管理类。

  1. 解析保存所有面板信息,从json文件里读取所有panel的名称、类型和预设路径等信息
  2. 创建保存所有面板的示例
  3. 管理保存所有显示的面板,运用容器栈,最底下的是主菜单、人物信息等,上面是打开的面板,顶部是正在打开的面板

所有Panel类有一个公共的基类BasePanel,用来管理公共的逻辑,比如每个页面都有相似的状态流程变化,从一开始显示、被覆盖、恢复显示、到关闭退出,只需要将这些状态封装成函数放在基类中并声明为虚函数,然后在子类中实现即可。

页面状态流程图:OnEnter界面显示 -> OnPause界面暂停(弹出了其他界面) -> OnResume界面继续(其他界面移除,恢复本界面的交互)-> OnExit(界面被移除,从页面移除不显示)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值