文档:任务系统
whiteviera2025-09-27
任务系统:设计
任务系统的设计目标如下:
- 一个任务能够有 由任意多个前置条件的任意逻辑组合 作为其前置条件。
- 一个任务能够含有多组目标,每个组的完成标准可以由任意多个子目标的任意逻辑组合判定,组和组之间依次进行。
- TBD
完整调用流程
一个剧情相关的事件流程如下:
- 剧情相关事件触发, 调用剧情子系统的回调函数处理。
- 更新任务前置条件:
- 遍历所有状态为 锁定 的任务,判断其前置条件中是否含有相关条件。
- 如含有,则 更新对应条件的取值,并在更新完成后重新对其 条件表达式 进行求值。
- 如果条件表达式满足,则更新该任务的状态为 可用,并广播对应事件给UI / ...
- 更新任务目标组
- 遍历所有状态为 可用 的任务,判断其 当前活动的目标组 中是否含有相关目标。
- 如果含有,则 更新对应目标的取值,并在更新完成后重新对 这个目标组的条件表达式 进行求值。
- 如果条件表达式满足,则标记该任务组的 状态为完成,更新对应任务的活动目标组,并广播对应事件给UI / ...