et的事件监听需要写AEvent,而AEvent不关联真正对事件感兴趣的实体
比如角色金币改变,抛出事件,如果我有10个界面对金币改变事件是监听的,由于事件抛出并不知道哪个界面是打开的,那AEvent里就要尝试获取这10个界面,即便这10个界面一个都没打开,然后调用获取到的界面的OnGoldUpdate()方法
以前一直用的是回调方式,界面打开的时候把界面的OnGoldUpdate方法注册给金币改变事件,事件触发时就会直接调到界面实例的OnGoldUpdate方法
et的事件监听需要写AEvent,而AEvent不关联真正对事件感兴趣的实体
比如角色金币改变,抛出事件,如果我有10个界面对金币改变事件是监听的,由于事件抛出并不知道哪个界面是打开的,那AEvent里就要尝试获取这10个界面,即便这10个界面一个都没打开,然后调用获取到的界面的OnGoldUpdate()方法
以前一直用的是回调方式,界面打开的时候把界面的OnGoldUpdate方法注册给金币改变事件,事件触发时就会直接调到界面实例的OnGoldUpdate方法
有啥问题呢?
et这样做,代码可读性更好,而且能够热重载
兄弟你表达有问题哦,看了几遍才看懂你的意思。AEvent 里不是去遍历所有的界面的,这样实现是不对的,你不知道哪些界面是要监听的。 正确的是要一个AEvent 对应一个界面 ,加一个监听就加一个AEvent
去找一下,有啥问题呢?这样代码非常清晰呀
cheric https://github.com/XuToWei/ET-DynamicEvent 可以看看这个满足你的要求
你指的是应该是动态Event吧,好多人提这个问题了,如果想自己搞的话参考下https://github.com/XuToWei/ET-DynamicEvent