1.效果展示。
![](https://i-blog.csdnimg.cn/blog_migrate/84ceab2fa9583b446c3c0b3201320c40.gif)
2.代码结构
这里定义了一个StartPanel(开始界面),LoginPanel(登录界面),RegisterPanel(注册界面)
Framework文件夹:包含了框架所包含的工具类。UI文件夹:项目的界面操作文件。
上代码:
void Awake() {
//注册绑定事件。
Bind(UIEvent.BEGIN_PANEL_ACTIVE);
}
首先LoginPanel:先注册绑定“UIEvent.BEGIN_PANEL_ACTIVE”显示登录界面,
/// <summary>
/// 自身关心的消息集合
/// </summary>
private List<int> list = new List<int>();
/// <summary>
/// 绑定一个或多个消息
/// </summary>
/// <param name="eventCodes">Event codes.</param>
/// params int [] eventCodes :可以接收多个参数。
protected void Bind(params int[] eventCodes)
{
list.AddRange(eventCodes);
//List.ToArray(); 将集合元素复制到新数组中。
UIManager.Instance.Add(list.ToArray(), this);
}
Uibase调用Bind方法绑定一个或者多个消息(一个界面代码模块可以绑定多个事件),将事件ID,添加到消息集合中。在上传给Uimanager的Add方法。
/// <summary>
/// 添加事件
/// </summary>
/// <param name="eventCode">Event code.</param>
/// <param name="mono&#