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 @   lxp_blog  阅读(371)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示
主题色彩