六、通过unity系统自带接口和观察者模式绑定按键事件
UI(UGUI)如何判断UI元素被点击时是鼠标哪个按键,(五)中我们可以根据eventData.pointerId来监听是我们按下的是鼠标左键还是右键。
通过前面几部分学习我们已经实现对UI系统如何绑定事件做了大概讲解,但是弊端明显,就是每个UI元素都创建一个MonoBehavior来进行监听各个事件,显然这样做不行,下面我们来学习下利用Delegate和Event来做一个通用类UIEventListener来处理事件(不了解Delegate和Event的童鞋请自行谷歌搜索观察者模式;
第一步上代码;
public
class
UIEventListener : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler
{
/// <summary>
/// 定义事件代理
/// </summary>
/// <param name="gb"></param>
public
delegate
void
UIEventProxy(GameObject gb);