跳转至

GFCallableRuntimeTask

API Reference / Standard / 类索引

  • 路径:addons/gf/standard/sequence/gf_callable_runtime_task.gd
  • 模块:Standard
  • 继承:GFRuntimeTask
  • API:public
  • 类别:运行时句柄 (runtime_handle)
  • 首次版本:6.0.0

使用 Callable 描述生命周期的运行时任务。 适合把轻量项目逻辑注入 [GFRuntimeTaskScheduler],而不必为一次性任务创建脚本类。 所有回调都接收当前任务和调度器,便于在闭包之外保持可测试的上下文。

成员概览

类型 名称 签名
属性 initialize_callable var initialize_callable: Callable = Callable()
属性 tick_callable var tick_callable: Callable = Callable()
属性 physics_tick_callable var physics_tick_callable: Callable = Callable()
属性 finished_callable var finished_callable: Callable = Callable()
属性 end_callable var end_callable: Callable = Callable()
属性 finish_after_initialize var finish_after_initialize: bool = true
方法 _init func _init( p_initialize_callable: Callable = Callable(), p_tick_callable: Callable = Callable(), p_finished_callable: Callable = Callable(), p_end_callable: Callable = Callable(), p_requirements: Array[Object] = [], p_interruptible: bool = true ) -> void:
方法 with_physics_tick func with_physics_tick(p_physics_tick_callable: Callable) -> GFCallableRuntimeTask:
方法 initialize func initialize(scheduler: GFRuntimeTaskScheduler) -> void:
方法 tick func tick(delta: float) -> void:
方法 physics_tick func physics_tick(delta: float) -> void:
方法 is_finished func is_finished() -> bool:
方法 end func end(interrupted: bool) -> void:

属性

initialize_callable

  • API:public
  • 首次版本:6.0.0
var initialize_callable: Callable = Callable()

初始化回调,签名为 [code]func(task: GFCallableRuntimeTask, scheduler: GFRuntimeTaskScheduler) -> void[/code]。

tick_callable

  • API:public
  • 首次版本:6.0.0
var tick_callable: Callable = Callable()

帧推进回调,签名为 [code]func(delta: float, task: GFCallableRuntimeTask, scheduler: GFRuntimeTaskScheduler) -> void[/code]。

physics_tick_callable

  • API:public
  • 首次版本:6.0.0
var physics_tick_callable: Callable = Callable()

物理帧推进回调,签名为 [code]func(delta: float, task: GFCallableRuntimeTask, scheduler: GFRuntimeTaskScheduler) -> void[/code]。

finished_callable

  • API:public
  • 首次版本:6.0.0
var finished_callable: Callable = Callable()

完成判断回调,签名为 [code]func(task: GFCallableRuntimeTask, scheduler: GFRuntimeTaskScheduler) -> bool[/code]。

end_callable

  • API:public
  • 首次版本:6.0.0
var end_callable: Callable = Callable()

结束回调,签名为 [code]func(interrupted: bool, task: GFCallableRuntimeTask, scheduler: GFRuntimeTaskScheduler) -> void[/code]。

finish_after_initialize

  • API:public
  • 首次版本:6.0.0
var finish_after_initialize: bool = true

是否在初始化后立即完成。 设为 [code]false[/code] 时,任务会持续运行直到 [member finished_callable] 返回 [code]true[/code]。

方法

_init

  • API:public
  • 首次版本:6.0.0
func _init( p_initialize_callable: Callable = Callable(), p_tick_callable: Callable = Callable(), p_finished_callable: Callable = Callable(), p_end_callable: Callable = Callable(), p_requirements: Array[Object] = [], p_interruptible: bool = true ) -> void:

创建 Callable 运行时任务。

参数:

名称 说明
p_initialize_callable 初始化回调。
p_tick_callable 帧推进回调。
p_finished_callable 完成判断回调。
p_end_callable 结束回调。
p_requirements 初始占用对象列表。
p_interruptible 任务是否允许被其他任务中断。

with_physics_tick

  • API:public
  • 首次版本:6.0.0
func with_physics_tick(p_physics_tick_callable: Callable) -> GFCallableRuntimeTask:

设置物理帧推进回调。

参数:

名称 说明
p_physics_tick_callable 物理帧推进回调。

返回:当前 Callable 任务。

initialize

  • API:public
  • 首次版本:6.0.0
func initialize(scheduler: GFRuntimeTaskScheduler) -> void:

初始化任务。

参数:

名称 说明
scheduler 当前调度器。

tick

  • API:public
  • 首次版本:6.0.0
func tick(delta: float) -> void:

按帧推进任务。

参数:

名称 说明
delta 帧间隔秒数。

physics_tick

  • API:public
  • 首次版本:6.0.0
func physics_tick(delta: float) -> void:

按物理帧推进任务。

参数:

名称 说明
delta 物理帧间隔秒数。

is_finished

  • API:public
  • 首次版本:6.0.0
func is_finished() -> bool:

判断任务是否已经完成。

返回:任务已完成时返回 true。

end

  • API:public
  • 首次版本:6.0.0
func end(interrupted: bool) -> void:

结束任务。

参数:

名称 说明
interrupted 为 true 时表示任务被其他任务或调度器取消。