Qframework框架使用之UIKit Event

Qframework框架使用之UIKit Event

一.简介

1.背景

UIKit中UIRoot预制体中将UI共分了十一层,为了解耦合,UIkit专门为不同层级不同panel之间的交互提供了专门的事件系统.

2.功能

用于不同Panel之间的交互.

二.使用

案例效果如下,点击Setting面板的ChangeMenuColor按钮改变Menu面板背景颜色:

1. 新建enum设置好EventID(注意UI事件ID为3000~5999,可参考QMsgSpan)

 public static class UIEventID
 {
     public enum MenuPanel
     {
         ChangeMenuColor =  QMgrId.UI,
     }
 }

2.在Menu面板注册事件

	protected override void ProcessMsg(int eventId, QMsg msg)
	{
		switch (eventId)
		{
			case (int) UIEventID.MenuPanel.ChangeMenuColor:
				ImageBg.color = "#00FFFFFF".HtmlStringToColor();
				break;
		}
	}

	protected override void RegisterUIEvent()
	{
		RegisterEvent(UIEventID.MenuPanel.ChangeMenuColor);
	}

3.发送消息

protected override void RegisterUIEvent()
{
   eventBtn.onClick.AddListener(()=>{ SendEvent<int>((int)UIEventID.MenuPanel.ChangeMenuColor); });
}