UniWb-3- Event

  CustomEvent

  事件系统是很有用的东西,很多项目里都会用到,但是 unity 里面的事件还是不够灵活。所以 UniWb 里还是有自己的一套事件系统

使用如下

//  注册事件
 EventSystem.RegisterEvent(111, (a, b) =>
        {
            Debug.Log("111");
        });

        EventSystem.RegisterEvent("aa", (a, b) =>
        {
            Debug.Log("aa");
        });

        EventSystem.RegisterEvent(1.2, (a, b) =>
        {
            Debug.Log("1.2");
        });

// 发送事件
EventSystem.SendEvent(111);
EventSystem.SendEvent("aa");
EventSystem.SendEvent(1.2f);

// 取消注册
EventSystem.UnRegisterEvent(111);

 

嗯,你也可以 注册其它类型的事件,这里涉及到一个装箱与拆箱的过程,所以呀,不要频繁发送事件,效率会没有直接调用高。

这里有个问题,就是我们很有可能会忘记 取消注册,所以提供下面注册方法

 this.RegisterCustomEvent(111, (a, b) =>
        {
            Debug.Log("执行~~");
        });

在 OnDestroy 的时候将会自动 取消掉注册。

 


MouseDownEvent / KeyDownEvent

为了更方便的监听 鼠标和键盘事件

// 注册单个键盘按下事件
this.RegisterKeyDownEvent(k =>
{
     Debug.Log(k);
}, KeyCode.F);


// 注册多个键盘按下事件
this.RegisterKeyDownEvent(k =>
{
   Debug.Log(k);
}, KeyCode.A, KeyCode.B);

// 注册鼠标左键按下事件
this.RegisterMouseDownEvent(k =>
{
   Debug.Log(k);
}, MouseKeyCode.MouseLeft);

// 注册Axis 事件
this.RegisterAxisEvent(a =>
{
  Debug.Log(a);
}, "Horizontal");

同时还有 KeyUpEvent ,KeyEvent 就不一一列举出来了,注册这些事件会在 ,OnDestroy 的时候将会自动 取消掉注册

更方便的去是用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值