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
初始化回调,签名为 [code]func(task: GFCallableRuntimeTask, scheduler: GFRuntimeTaskScheduler) -> void[/code]。
tick_callable¶
- API:
public - 首次版本:
6.0.0
帧推进回调,签名为 [code]func(delta: float, task: GFCallableRuntimeTask, scheduler: GFRuntimeTaskScheduler) -> void[/code]。
physics_tick_callable¶
- API:
public - 首次版本:
6.0.0
物理帧推进回调,签名为 [code]func(delta: float, task: GFCallableRuntimeTask, scheduler: GFRuntimeTaskScheduler) -> void[/code]。
finished_callable¶
- API:
public - 首次版本:
6.0.0
完成判断回调,签名为 [code]func(task: GFCallableRuntimeTask, scheduler: GFRuntimeTaskScheduler) -> bool[/code]。
end_callable¶
- API:
public - 首次版本:
6.0.0
结束回调,签名为 [code]func(interrupted: bool, task: GFCallableRuntimeTask, scheduler: GFRuntimeTaskScheduler) -> void[/code]。
finish_after_initialize¶
- API:
public - 首次版本:
6.0.0
是否在初始化后立即完成。 设为 [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
设置物理帧推进回调。
参数:
| 名称 | 说明 |
|---|---|
p_physics_tick_callable |
物理帧推进回调。 |
返回:当前 Callable 任务。
initialize¶
- API:
public - 首次版本:
6.0.0
初始化任务。
参数:
| 名称 | 说明 |
|---|---|
scheduler |
当前调度器。 |
tick¶
- API:
public - 首次版本:
6.0.0
按帧推进任务。
参数:
| 名称 | 说明 |
|---|---|
delta |
帧间隔秒数。 |
physics_tick¶
- API:
public - 首次版本:
6.0.0
按物理帧推进任务。
参数:
| 名称 | 说明 |
|---|---|
delta |
物理帧间隔秒数。 |
is_finished¶
- API:
public - 首次版本:
6.0.0
判断任务是否已经完成。
返回:任务已完成时返回 true。
end¶
- API:
public - 首次版本:
6.0.0
结束任务。
参数:
| 名称 | 说明 |
|---|---|
interrupted |
为 true 时表示任务被其他任务或调度器取消。 |