跳转至

GFThumbnailRenderTask

API Reference / Kernel / 类索引

  • 路径:addons/gf/kernel/editor/gf_thumbnail_render_task.gd
  • 模块:Kernel
  • 继承:RefCounted
  • API:public
  • 类别:运行时句柄 (runtime_handle)
  • 首次版本:8.0.0

一次缩略图渲染任务句柄。 任务持有请求、运行状态、取消 token 和完成源;GFThumbnailRenderer 负责串行执行任务。

成员概览

类型 名称 签名
信号 completed signal completed(task: GFThumbnailRenderTask)
信号 succeeded signal succeeded(task: GFThumbnailRenderTask, result: Variant)
信号 failed signal failed(task: GFThumbnailRenderTask, error: String)
信号 cancelled signal cancelled(task: GFThumbnailRenderTask, reason: StringName)
枚举 State enum State
方法 _init func _init(request: GFThumbnailRenderRequest = null, task_id: int = 0) -> void:
方法 cancel func cancel(reason: StringName = &"cancelled") -> bool:
方法 wait_completed func wait_completed() -> Variant:
方法 get_task_id func get_task_id() -> int:
方法 get_request func get_request() -> GFThumbnailRenderRequest:
方法 get_state func get_state() -> State:
方法 is_pending func is_pending() -> bool:
方法 is_running func is_running() -> bool:
方法 is_finished func is_finished() -> bool:
方法 is_succeeded func is_succeeded() -> bool:
方法 is_failed func is_failed() -> bool:
方法 is_cancelled func is_cancelled() -> bool:
方法 is_cancel_requested func is_cancel_requested() -> bool:
方法 get_result func get_result() -> Variant:
方法 get_error func get_error() -> String:
方法 get_cancel_reason func get_cancel_reason() -> StringName:
方法 get_cancel_token func get_cancel_token() -> GFCancellationToken:
方法 get_completion func get_completion() -> GFAsyncCompletion:

信号

completed

  • API:public
  • 首次版本:8.0.0
signal completed(task: GFThumbnailRenderTask)

任务进入任意终态时发出。

参数:

名称 说明
task 当前任务。

succeeded

  • API:public
  • 首次版本:8.0.0
signal succeeded(task: GFThumbnailRenderTask, result: Variant)

任务成功完成时发出。

参数:

名称 说明
task 当前任务。
result 成功结果。

结构:

  • result: Variant,Image、ImageTexture 或 MeshLibrary 预览计划 Dictionary。

failed

  • API:public
  • 首次版本:8.0.0
signal failed(task: GFThumbnailRenderTask, error: String)

任务失败时发出。

参数:

名称 说明
task 当前任务。
error 失败说明。

cancelled

  • API:public
  • 首次版本:8.0.0
signal cancelled(task: GFThumbnailRenderTask, reason: StringName)

任务取消完成时发出。

参数:

名称 说明
task 当前任务。
reason 取消原因。

枚举

State

  • API:public
  • 首次版本:8.0.0
enum State {
    ## 等待执行。
    PENDING,
    ## 正在执行。
    RUNNING,
    ## 已成功完成。
    SUCCEEDED,
    ## 已失败。
    FAILED,
    ## 已取消。
    CANCELLED,
}

缩略图渲染任务状态。

方法

_init

  • API:public
  • 首次版本:8.0.0
func _init(request: GFThumbnailRenderRequest = null, task_id: int = 0) -> void:

构造函数。

参数:

名称 说明
request 要执行的缩略图渲染请求。
task_id 可选任务 ID。

cancel

  • API:public
  • 首次版本:8.0.0
func cancel(reason: StringName = &"cancelled") -> bool:

请求取消任务。 等待中的任务会立即进入取消终态;正在执行的任务会在下一个渲染检查点取消。

参数:

名称 说明
reason 取消原因。

返回:本次调用是否发出了新的取消请求。

wait_completed

  • API:public
  • 首次版本:8.0.0
func wait_completed() -> Variant:

等待任务完成并返回最终结果。

返回:任务结果;失败时通常为 null,取消的 MeshLibrary 计划任务可返回部分计划。

结构:

  • return: Variant,Image、ImageTexture、MeshLibrary 预览计划 Dictionary 或 null。

get_task_id

  • API:public
  • 首次版本:8.0.0
func get_task_id() -> int:

返回任务 ID。

返回:任务 ID。

get_request

  • API:public
  • 首次版本:8.0.0
func get_request() -> GFThumbnailRenderRequest:

返回任务请求。

返回:任务请求。

get_state

  • API:public
  • 首次版本:8.0.0
func get_state() -> State:

返回任务状态。

返回:当前任务状态。

is_pending

  • API:public
  • 首次版本:8.0.0
func is_pending() -> bool:

返回是否仍在等待执行。

返回:等待执行时返回 true。

is_running

  • API:public
  • 首次版本:8.0.0
func is_running() -> bool:

返回是否正在执行。

返回:正在执行时返回 true。

is_finished

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

返回是否已经进入任意终态。

返回:已完成、失败或取消时返回 true。

is_succeeded

  • API:public
  • 首次版本:8.0.0
func is_succeeded() -> bool:

返回是否成功完成。

返回:成功完成时返回 true。

is_failed

  • API:public
  • 首次版本:8.0.0
func is_failed() -> bool:

返回是否失败。

返回:失败时返回 true。

is_cancelled

  • API:public
  • 首次版本:8.0.0
func is_cancelled() -> bool:

返回是否取消完成。

返回:取消完成时返回 true。

is_cancel_requested

  • API:public
  • 首次版本:8.0.0
func is_cancel_requested() -> bool:

返回是否已经请求取消。

返回:已请求取消但可能尚未完成时返回 true。

get_result

  • API:public
  • 首次版本:8.0.0
func get_result() -> Variant:

返回任务结果。

返回:任务结果。

结构:

  • return: Variant,Image、ImageTexture、MeshLibrary 预览计划 Dictionary 或 null。

get_error

  • API:public
  • 首次版本:8.0.0
func get_error() -> String:

返回失败说明。

返回:失败说明;非失败状态返回空字符串。

get_cancel_reason

  • API:public
  • 首次版本:8.0.0
func get_cancel_reason() -> StringName:

返回取消原因。

返回:取消原因;未取消时返回空 StringName。

get_cancel_token

  • API:public
  • 首次版本:8.0.0
func get_cancel_token() -> GFCancellationToken:

返回任务取消 token。

返回:当前任务的只读取消 token。

get_completion

  • API:public
  • 首次版本:8.0.0
func get_completion() -> GFAsyncCompletion:

返回任务完成源。

返回:当前任务的完成源。