今天我想讨论一个特定的系统。任务系统

假设它是一个简单的取件系统。一个NPC要求你去收集物品并带回去

它非常简单。但是,不要创建一大堆if-else语句的情况下,什么样的架构可以支持能够中断游戏循环/一个系统,如任务系统,并在随机事件结束后恢复

例如,想要什么的NPC死了,或者他们攻击玩家,或者任务实际上是一个埋伏,但它被呈现给玩家如任何正常任务

显然,“任何事都可以用足够的意大利面条编码”,但我想知道如何处理中断,并仍然跟踪一切的好架构

为了解决这个问题,我们可以考虑以下几种架构:

  1. 事件驱动架构:这种架构允许系统在事件发生时中断游戏循环,并在事件结束时恢复。
  2. 任务管理器:任务管理器可以负责管理任务的生命周期,包括中断和恢复。
  3. 状态机:状态机可以帮助系统管理不同的状态,包括中断和恢复。
  4. 异步编程:异步编程可以让系统在不阻塞游戏循环的情况下处理中断和恢复。

这些架构可以帮助系统处理中断和恢复,保持跟踪一切的同时。