GFAssetLoadSession¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/utilities/assets/gf_asset_load_session.gd - 模块:
Standard - 继承:
RefCounted - API:
public - 类别:运行时句柄 (
runtime_handle) - 首次版本:
9.0.0
资产预加载事务句柄。 会话先把资源加载到唯一 staging group,只有全部成功后才提交目标 group。 失败或主动回滚只撤销 staging 所有权,不调用破坏共享句柄的 remove_cache()。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 信号 | state_changed |
signal state_changed(previous_state: State, current_state: State) |
| 信号 | ready_to_commit |
signal ready_to_commit(session: GFAssetLoadSession) |
| 信号 | completed |
signal completed(result: GFAssetLoadSessionResult) |
| 枚举 | State |
enum State |
| 方法 | get_session_id |
func get_session_id() -> StringName: |
| 方法 | get_group_id |
func get_group_id() -> StringName: |
| 方法 | get_state |
func get_state() -> State: |
| 方法 | is_completed |
func is_completed() -> bool: |
| 方法 | get_result |
func get_result() -> GFAssetLoadSessionResult: |
| 方法 | get_load_report |
func get_load_report() -> Dictionary: |
| 方法 | commit |
func commit() -> bool: |
| 方法 | rollback |
func rollback(reason: StringName = &"caller_requested") -> bool: |
信号¶
state_changed¶
- API:
public - 首次版本:
9.0.0
会话状态变化后发出。
参数:
| 名称 | 说明 |
|---|---|
previous_state |
变化前状态。 |
current_state |
变化后状态。 |
ready_to_commit¶
- API:
public - 首次版本:
9.0.0
全部资源已加载且等待手动提交时发出。
参数:
| 名称 | 说明 |
|---|---|
session |
当前会话。 |
completed¶
- API:
public - 首次版本:
9.0.0
会话进入 committed、failed 或 rolled_back 终态时发出一次。
参数:
| 名称 | 说明 |
|---|---|
result |
隔离终态结果。 |
枚举¶
State¶
- API:
public - 首次版本:
9.0.0
enum State {
## 已创建但未开始。
CREATED,
## 正在加载 staging group。
LOADING,
## 已加载并等待提交或回滚。
READY,
## 加载中收到回滚请求,等待在途回调收敛。
ROLLBACK_PENDING,
## 已提交目标 group。
COMMITTED,
## 加载或校验失败。
FAILED,
## 已由调用方回滚。
ROLLED_BACK,
}
资产加载会话状态。
方法¶
get_session_id¶
- API:
public - 首次版本:
9.0.0
获取会话 ID。
返回:会话 ID。
get_group_id¶
- API:
public - 首次版本:
9.0.0
获取目标分组 ID。
返回:目标分组 ID。
get_state¶
- API:
public - 首次版本:
9.0.0
获取会话状态。
返回:当前状态。
is_completed¶
- API:
public - 首次版本:
9.0.0
检查会话是否处于任一终态。
返回:committed、failed 或 rolled_back 时返回 true。
get_result¶
- API:
public - 首次版本:
9.0.0
获取终态结果副本。
返回:终态结果;尚未完成时返回 null。
get_load_report¶
- API:
public - 首次版本:
9.0.0
获取底层加载报告副本。
返回:preload_group_async 报告副本。
结构:
return: Dictionary with ok, group_id, paths, failed_paths, total, and completed.
commit¶
- API:
public - 首次版本:
9.0.0
把已加载 staging 路径提交到目标 group。
返回:READY 状态首次提交成功返回 true。
rollback¶
- API:
public - 首次版本:
9.0.0
回滚会话。 READY 状态立即撤销 staging group;LOADING 状态只记录意图,等待在途回调 收敛后再进入 rolled_back,避免迟到回调重新写入 staging group。
参数:
| 名称 | 说明 |
|---|---|
reason |
回滚原因。 |
返回:首次接受回滚请求返回 true。