c# - 处理事件
问题描述
概括
我正在开发一个发生多个事件的游戏。
诸如移动、被击中、吃东西等事件。
目标是能够在其中一个事件出现时执行函数
。一个函数可以执行的事件的三个部分,OnStart/During/OnEnd。
例如GetHit
触发 X 函数(由 OnStart 触发)
吃东西会每秒触发 Y 函数(由 during 触发)
AfterUseSkill 会触发 Z 函数(由 OnEnd 触发)
问题是,我只知道如何通过使用委托或观察者模式等方法在事件执行时触发它,例如 OnEat、OnGetHit...等。当涉及到 WhileEating、WhileMoving 等其他阶段时,我不确定如何去做。总的来说,我只需要一种可靠的方法来识别正在运行的事件,它处于哪个阶段(开始/期间/结束),然后我应该能够使用这些信息来确定要触发哪个功能。我唯一想到的是让观察者模式为每个阶段发送消息,但我很犹豫这样做,因为我认为它可能效率低下。
抱歉,如果我的结构有点偏离,这是我的第一次问题。任何形式的帮助,即使只是指向正确的方向也会受到赞赏(特别是因为我是事件处理的新手)。谢谢!
解决方案
推荐阅读
- python - 有没有办法在python中循环这些元素的函数调用?
- sql - 基于条件多列标准的最佳过滤
- r - 如何分组或嵌套到 r 中的数据子集?
- c# - 为网格视图启用分页
- node.js - Discord 机器人返回“TypeError:无法读取未定义的属性‘过滤器’”
- react-native - 在 expo-av 中动态添加 require() 文件
- python - 从 PyPI 安装失败,版本不令人满意,但手动安装时 PyPI 中存在这些版本
- rest - Microsoft Access 365 的 HTTP 命令、方法等目录
- git - 在不编写当前分支提交的情况下签出新分支?
- android - Flutter->从设备获取生物特征指纹数据/图像