需求:
- 存在装备、英雄、技能界面,同时这3个界面都归纳于“单局界面”。
- 玩家通过不同的操作可以直接打开对应子界面。
- 同时要确保“单局界面”存在一个菜单按钮矩阵,其状态与当前实际显示的子菜单一致。
可以通过状态变量来管理这种情况。
变量:
- m_visible: 单局界面是否可见
- m_menu_index: 当前显示的子菜单
API设计:
- 仅通过API来管理变量的数值,不直接操作控件。
逻辑方法:
- 通过一个统一的refresh方法来刷新界面,根据状态变量来更新当前应该显示/隐藏的子界面,以及菜单按钮矩阵的状态。
- 仅通过refresh来操作控件。
子界面的主控件(panel)可以单独放到不同的脚本文件中,通过refresh来控制其显示和隐藏。
必须确保控件始终是通过主菜单界面逻辑来进行管理的,以确保逻辑清晰。