首页 > 其他 > 详细

游戏中事件系统思考

时间:2020-09-29 13:19:20      阅读:35      评论:0      收藏:0      [点我收藏+]

实现思路

背景

项目使用观察者模式实现事件抛出与监听

  • 事件抛出
  • 事件监听回调
  • 同步调用
  • 事件调用链出错非阻断

缺陷

该有的缺陷都有

  • 观察者模式缺陷,容易复杂化,当同一实例既是观察者,又是被观察者时会极大增加维护复杂度
    • 解决:尽量避免此状态或者只有一层此状态
  • 同步调用缺陷,会造成性能障碍,当调用链某一处耗时较长,整个调用链后面需要等待,造成较长等待
    • 解决:增加一种异步调用链方式,由使用者选择,因为可能前后调用有依赖关系

功能上缺失

  • 时序依赖,未实现事件调用链中顺序问题
    • 思路一,通过注册顺序依次调用
    • 思路二,注册时候增加排序信息
  • 时间控制,未实现控制时间,现事件抛出时间由第三方控制
    • 解决思路:在事件系统中嵌入时间,可以控制事件抛出时间

游戏中事件系统思考

原文:https://www.cnblogs.com/longguoxv/p/13749023.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!