GameFramework 学习笔记(五)Event

好多部分都用到了事件  先说下事件部分吧

GameFramework 学习笔记(五)Event

.....UnityGameFramework 的事件组件也只是对 GameFramework 的一层简单封装没有其他内容 

还是直接看 GameFramework的事件

GameFramework 学习笔记(五)Event

我们先看一下 这个 事件池

GameFramework 学习笔记(五)Event

GameFramework 学习笔记(五)Event

GameFramework 学习笔记(五)Event

这个订阅 事件就是把事件处理函数存放 到事件池的 字典<事件Id,处理函数链表>   的处函数链表中 

 

然后我们再看这个 取消订阅事件处理函数  他竟然不是 直接采用和 订阅事件处理函数 相反的操作 而是 出来两个字典m_CachedNodes   m_CachedNodes   判断字典的数量    鬼知道是啥意思  所以我们得看看在哪里 对这个字典进行了添加操作

GameFramework 学习笔记(五)Event

然后我们在 最后面的处理事件结点的地方可以看到对 这个字典的操作

GameFramework 学习笔记(五)Event

只是存放了一下过程中的结点  也看不出来什么 

画个小黄图 理解下

GameFramework 学习笔记(五)Event

这样 取消订阅也就说完啦

GameFramework 学习笔记(五)Event

虽然存放起来了 但是在哪里调用呢  

GameFramework 学习笔记(五)Event

好吧 这样我们的事件池 

我们一直在说这个事件池是如何处理事件,订阅事件之类的  我们却没有这 事件到底是啥

GameFramework 学习笔记(五)Event

GameFramework 学习笔记(五)Event

这个没啥好说的  好像都能看懂    我们又一次的看到了这个引用 池 

在创建事件时候从引用池里拿引用  处理事件时候 把归还引用 引用池的内容好像还不少 下次说 引用池

我们回到  事件管理器 毕竟我们已经把 事件池 看懂了 

然后事件管理器这不就是在初始化一个事件池,然后一直在调用事件池里的内容嘛