加载中...

unity---UI管理模块

UI管理器

任务:
1.所有面板的父类,2.UIMgr
所有UI控件都继承UIBehaviour
image

面板基类

找到相应空间

image

简化后
image
也存在问题:一个物体可以同时挂载两个组件 导致键相同,而值不同,
将值改为list<UIBehaviour>,Start-> Awake 时间提前一些
image

得到对应的控件脚本

image

显示自己和隐藏自己

登录面板

image

UIMgr

  1. 管理所有显示的面板
  2. 提供给外部显示和隐藏面板的功能

存放面板

private Dictionary<string ,BasePanel> panelDic=new Dictionary<string,BasePanel>();

显示面板

将一些UI面板设置为预制体Prefab
image
Canvas需要的参数
image

代码

初始化

image
image

显示面板

image
image

隐藏面板

image

优化

  1. 记录UI的canvas方便以后的使用
    image
    image
  2. 得到某个显示的面板 方便外部使用
    image
  3. 再获取对象时就给每个按钮控件注册监听
    image
    需要在子类中重写一下
    image
  4. 同理如果是单选框/复选框
    image
    image
    image
  5. 子类也需要Awake()
    image
    image
  6. 得到层级父对象
    image
  7. 按钮空间的其他事件
    image
    image
    添加事件过于繁琐,需要封装起来,封在UIMgr
    image
    利用一下image
posted @ 2022-05-02 21:22  lxp_blog  阅读(391)  评论(0)    收藏  举报