GFSaveSlotStorageAdapter¶
API Reference / Save / 类索引
- 路径:
addons/gf/extensions/save/slots/gf_save_slot_storage_adapter.gd - 模块:
Save - 继承:
Resource - API:
public - 类别:运行时服务 (
runtime_service) - 首次版本:
8.0.0
Save 扩展的通用槽位存储适配器。 把逻辑槽位索引映射到可配置的数据/元数据文件名,并通过 GFStorageUtility 的通用字典事务 API 完成持久化。该类不定义项目存档字段,也不绑定 UI。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 常量 | DEFAULT_DATA_FILE_TEMPLATE |
const DEFAULT_DATA_FILE_TEMPLATE: String = "slot_{index}_data.sav" |
| 常量 | DEFAULT_METADATA_FILE_TEMPLATE |
const DEFAULT_METADATA_FILE_TEMPLATE: String = "slot_{index}_meta.sav" |
| 属性 | data_file_template |
var data_file_template: String = DEFAULT_DATA_FILE_TEMPLATE |
| 属性 | metadata_file_template |
var metadata_file_template: String = DEFAULT_METADATA_FILE_TEMPLATE |
| 方法 | setup |
func setup(storage: GFStorageUtility) -> GFSaveSlotStorageAdapter: |
| 方法 | get_storage |
func get_storage() -> GFStorageUtility: |
| 方法 | get_data_file_name |
func get_data_file_name(slot_index: int) -> String: |
| 方法 | get_metadata_file_name |
func get_metadata_file_name(slot_index: int) -> String: |
| 方法 | save_slot |
func save_slot(slot_index: int, data: Dictionary, metadata: Dictionary = {}) -> Error: |
| 方法 | load_slot |
func load_slot(slot_index: int) -> Dictionary: |
| 方法 | load_slot_metadata |
func load_slot_metadata(slot_index: int) -> Dictionary: |
| 方法 | has_slot |
func has_slot(slot_index: int) -> bool: |
| 方法 | delete_slot |
func delete_slot(slot_index: int) -> Error: |
| 方法 | list_slots |
func list_slots() -> Array[Dictionary]: |
常量¶
DEFAULT_DATA_FILE_TEMPLATE¶
- API:
public - 首次版本:
8.0.0
默认槽位数据文件模板。
DEFAULT_METADATA_FILE_TEMPLATE¶
- API:
public - 首次版本:
8.0.0
默认槽位元数据文件模板。
属性¶
data_file_template¶
- API:
public - 首次版本:
8.0.0
数据文件模板,支持 {index} 占位符。
metadata_file_template¶
- API:
public - 首次版本:
8.0.0
元数据文件模板,支持 {index} 占位符。
方法¶
setup¶
- API:
public - 首次版本:
8.0.0
设置底层存储工具。
参数:
| 名称 | 说明 |
|---|---|
storage |
底层 GFStorageUtility。 |
返回:当前适配器。
get_storage¶
- API:
public - 首次版本:
8.0.0
获取底层存储工具。
返回:当前 GFStorageUtility;未配置时返回 null。
get_data_file_name¶
- API:
public - 首次版本:
8.0.0
生成槽位数据文件名。
参数:
| 名称 | 说明 |
|---|---|
slot_index |
槽位索引。 |
返回:数据文件名。
get_metadata_file_name¶
- API:
public - 首次版本:
8.0.0
生成槽位元数据文件名。
参数:
| 名称 | 说明 |
|---|---|
slot_index |
槽位索引。 |
返回:元数据文件名。
save_slot¶
- API:
public - 首次版本:
8.0.0
保存槽位数据和元数据。
参数:
| 名称 | 说明 |
|---|---|
slot_index |
槽位索引;必须大于等于 0。 |
data |
项目聚合后的存档载荷。 |
metadata |
槽位摘要元数据。 |
返回:Godot 的 Error 结果码。
结构:
data: Dictionary,项目自定义存档载荷。metadata: Dictionary,通常来自 GFSaveSlotMetadata.to_dict()。
load_slot¶
- API:
public - 首次版本:
8.0.0
读取槽位数据。
参数:
| 名称 | 说明 |
|---|---|
slot_index |
槽位索引。 |
返回:存档载荷;读取失败时为空字典。
结构:
return: Dictionary,项目自定义存档载荷。
load_slot_metadata¶
- API:
public - 首次版本:
8.0.0
读取槽位元数据。
参数:
| 名称 | 说明 |
|---|---|
slot_index |
槽位索引。 |
返回:槽位元数据;读取失败时为空字典。
结构:
return: Dictionary,通常兼容 GFSaveSlotMetadata.to_dict()。
has_slot¶
- API:
public - 首次版本:
8.0.0
检查槽位是否同时具备数据和元数据文件。
参数:
| 名称 | 说明 |
|---|---|
slot_index |
槽位索引。 |
返回:同时存在数据和元数据时返回 true。
delete_slot¶
- API:
public - 首次版本:
8.0.0
删除槽位数据和元数据文件。
参数:
| 名称 | 说明 |
|---|---|
slot_index |
槽位索引。 |
返回:两个文件都成功删除时返回 OK;任一文件缺失时返回 ERR_FILE_NOT_FOUND。
list_slots¶
- API:
public - 首次版本:
8.0.0
枚举现有槽位摘要。
返回:槽位摘要数组。
结构:
return: Array[Dictionary],每项包含 slot_index、slot_id、metadata 和 modified_time。