UI框架学习

记录下今天学习的SIKI老师的UI框架:
首先是最为重要的UIManager,这个类用来管理所有UI的JSON路径解析、根据请求得到相应的UI、出栈和入栈操作,是整个UI框架的核心。使用Dictionary分别存储UI路径和UI基类,使用栈存储需要显示的UI面板。
public class UIManager
{
private Dictionary<UIPanelType, string> panelPathDict; //存储路径
private Dictionary<UIPanelType, BasePanel> panelDict; //存储UI类
private Stack panelStack; //基类栈

//入栈和出栈操作即为实现UI的显示与关闭
public void PushPanel(UIPanelType panelType){}
public void PopPanel(){}

private BasePanel GetPanel(UIPanelType panelType){}  //根据面板类型得到面板
private void ParseUIPanelTypeJson(){}    //解析JSON路径

} 代码不全,只是将这些最重要的核心复制过来

接着是BasePanel基类面板,为所有UI提供OnEnter()、OnPause()、OnResume()、OnExit()的virtual方法。
public class BasePanel : MonoBehaviour
{
public virtual void OnEnter() { }
public virtual void OnPause() { }
public virtual void OnResume() { }
public virtual void OnExit() { }
}

其他的就相对简单了,为所有的UI面板创建脚本,重写BasePanel的方法实现需要的操作,为所有的UI面板提供一个枚举类型的类用来查找。

使用UI框架有许多便利性,每当添加UI面板,不用再考虑他的打开、关闭、暂停和恢复,这些操作全部交给UIManager去实现,每个新的UI只需要考虑自身的一些逻辑操作,让代码的复用性更强了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值