跳转至

GFConfigAccessGenerator

API Reference / Kernel / 类索引

  • 路径:addons/gf/kernel/editor/gf_config_access_generator.gd
  • 模块:Kernel
  • 继承:RefCounted
  • API:public
  • 类别:编辑器 API (editor_api)
  • 首次版本:3.17.0

生成静态导表访问器脚本。 生成结果只封装 provider 的 get_record() / get_table() 调用, 不规定项目表结构语义,适合需要 IDE 补全和集中表名常量的项目使用。

成员概览

类型 名称 签名
常量 DEFAULT_OUTPUT_PATH const DEFAULT_OUTPUT_PATH: String = "res://gf/generated/gf_config_access.gd"
常量 DEFAULT_CLASS_NAME const DEFAULT_CLASS_NAME: String = "GFConfigAccess"
常量 DEFAULT_PROVIDER_ACCESSOR const DEFAULT_PROVIDER_ACCESSOR: String = "null"
方法 generate func generate( schemas: Array, output_path: String = DEFAULT_OUTPUT_PATH, overwrite_existing: bool = true, access_class_name: String = DEFAULT_CLASS_NAME, provider_accessor: String = DEFAULT_PROVIDER_ACCESSOR, options: Dictionary = {} ) -> Error:
方法 build_source func build_source( schemas: Array, access_class_name: String = DEFAULT_CLASS_NAME, provider_accessor: String = DEFAULT_PROVIDER_ACCESSOR, options: Dictionary = {} ) -> String:
方法 save_source func save_source(output_path: String, source: String, overwrite_existing: bool = true) -> Error:

常量

DEFAULT_OUTPUT_PATH

  • API:public
const DEFAULT_OUTPUT_PATH: String = "res://gf/generated/gf_config_access.gd"

默认生成输出路径。

DEFAULT_CLASS_NAME

  • API:public
const DEFAULT_CLASS_NAME: String = "GFConfigAccess"

默认生成 class_name。

DEFAULT_PROVIDER_ACCESSOR

  • API:public
const DEFAULT_PROVIDER_ACCESSOR: String = "null"

默认 provider 获取表达式。

方法

generate

  • API:public
func generate( schemas: Array, output_path: String = DEFAULT_OUTPUT_PATH, overwrite_existing: bool = true, access_class_name: String = DEFAULT_CLASS_NAME, provider_accessor: String = DEFAULT_PROVIDER_ACCESSOR, options: Dictionary = {} ) -> Error:

根据 schema 列表生成访问器并写入文件。

参数:

名称 说明
schemas 带有 table_nametable_key 属性的 schema 列表。
output_path 生成文件输出路径。
overwrite_existing 为 false 时目标已存在会返回 ERR_ALREADY_EXISTS。
access_class_name 生成脚本的 class_name。
provider_accessor 无显式 provider 参数时用于获取 provider 的表达式。
options 可选生成选项,支持 method_name_style、constant_prefix、record_method_pattern、table_method_pattern、include_schema_comments。

返回:写入结果错误码。

结构:

  • schemas: Array of Dictionary or Object schemas with table_name/table_key and optional metadata.
  • options: Dictionary controlling method_name_style, constant_prefix, record_method_pattern, table_method_pattern, and include_schema_comments.

build_source

  • API:public
func build_source( schemas: Array, access_class_name: String = DEFAULT_CLASS_NAME, provider_accessor: String = DEFAULT_PROVIDER_ACCESSOR, options: Dictionary = {} ) -> String:

根据 schema 列表生成访问器源码。

参数:

名称 说明
schemas 带有 table_nametable_key 属性的 schema 列表。
access_class_name 生成脚本的 class_name。
provider_accessor 无显式 provider 参数时用于获取 provider 的表达式。
options 可选生成选项。

返回:GDScript 源码。

结构:

  • schemas: Array of Dictionary or Object schemas with table_name/table_key and optional metadata.
  • options: Dictionary controlling method_name_style, constant_prefix, record_method_pattern, table_method_pattern, and include_schema_comments.

save_source

  • API:public
func save_source(output_path: String, source: String, overwrite_existing: bool = true) -> Error:

保存生成源码到指定路径。

参数:

名称 说明
output_path 生成文件输出路径。
source GDScript 源码。
overwrite_existing 为 false 时目标已存在会返回 ERR_ALREADY_EXISTS。

返回:写入结果错误码。