跳至正文

Hazel视频笔记 – EventSystem

  • 技术

介绍

最近开始听Youtube上一个大佬自研引擎的开发全过程,本篇是我做的笔记。

事件集中定义

这篇视频介绍了他对于EventSystem的初步规划和开发,首先我因为用python很多,很习惯于不提前把一切事件都定义好,EventSystem就应该是外部可以定义Event,并且可以发布Event。

但是他这里做的事情是,定义好了所有的Event,有好有坏,好处呢是所有的事件集中在Event.h的里面,但也有坏处的,坏处就是如果我想增加事件必须要修改引擎的代码,或者要新开发一个Delegate的系统。

Category是位运算

博主说为了可以快速区分这个事件是不是一个鼠标事件,就将所有的鼠标事件都集中在同一个Category里,感觉是一个不够抽象的设计。

如果是我来做,我应该会定义一个Category的抽象类,然后把所有的EventType都放进去,效率可能会比博主的这个方案低一点,但是在外部就可以自由的定义哪些组事件放在一起,个人感觉会比直接定死一批Category要好。

目录