文档:任务系统

whiteviera2025-09-27

任务系统:设计

任务系统的设计目标如下:

  • 一个任务能够有 由任意多个前置条件的任意逻辑组合 作为其前置条件。
  • 一个任务能够含有多组目标,每个组的完成标准可以由任意多个子目标的任意逻辑组合判定,组和组之间依次进行。
  • TBD

完整调用流程

一个剧情相关的事件流程如下:

  • 剧情相关事件触发, 调用剧情子系统的回调函数处理
  • 更新任务前置条件
    • 遍历所有状态为 锁定 的任务,判断其前置条件中是否含有相关条件。
    • 如含有,则 更新对应条件的取值,并在更新完成后重新对其 条件表达式 进行求值。
    • 如果条件表达式满足,则更新该任务的状态为 可用,并广播对应事件给UI / ...
  • 更新任务目标组
    • 遍历所有状态为 可用 的任务,判断其 当前活动的目标组 中是否含有相关目标。
    • 如果含有,则 更新对应目标的取值,并在更新完成后重新对 这个目标组的条件表达式 进行求值。
    • 如果条件表达式满足,则标记该任务组的 状态为完成,更新对应任务的活动目标组,并广播对应事件给UI / ...
Last Updated 2025/9/28 22:54:31