Sprint¶
用途¶
在有时限的 movement-state 窗口内向 AI 宿主施力,并通过 IMovementSource 报告 Sprinting / Idle。
关键输入 / 输出¶
force:可绑定变量的Vector2施力值。duration:movement-state 窗口时长;Repeated模式下也限制施力时长。forceApplication:Once或Repeated,默认Once。- 输出:运行期间报告
Sprinting;完成或失败后报告Idle。
施力语义¶
Once:动作开始时使用ForceMode2D.Force施力一次;动作仍运行到duration结束,以便整个窗口报告为Sprinting。Repeated:在有效 FixedUpdate 中使用ForceMode2D.Force重复施力,直到达到duration。duration为零时,Once仍施力一次但不报告一个零时长的Sprinting窗口;Repeated不施力。
成功 / 失败语义¶
- 配置的时长结束时成功。
- 启动时 movement source 不允许移动,或运行期间变为不可移动时失败。
生命周期¶
- 动作开始时若 movement source 不允许移动,则不施力并失败。
- 运行期间若 movement source 不再允许移动,则停止施力、报告
Idle并失败。 - 正常完成或动作销毁时报告
Idle。 - 宿主需要有
Rigidbody2D,控制目标需要实现IMovementSource;力值必须有限,时长必须为有限非负值。