跳转至

GFNetworkContractGenerator

API Reference / Network / 类索引

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

根据 GFNetworkContract 生成强类型消息辅助脚本。 生成结果保持为 GDScript 轻量封装,围绕 GFNetworkMessage / GFNetworkUtility 提供构造、发送、匹配和 payload 读取函数,不绑定任何具体业务协议。

成员概览

类型 名称 签名
常量 DEFAULT_OUTPUT_DIR const DEFAULT_OUTPUT_DIR: String = "res://gf/generated/network"
方法 generate func generate( contract: GFNetworkContract, output_path: String = "", overwrite_existing: bool = true, options: Dictionary = {} ) -> Error:
方法 generate_many func generate_many( contract_paths: PackedStringArray, output_dir: String = DEFAULT_OUTPUT_DIR, overwrite_existing: bool = true, options: Dictionary = {} ) -> Dictionary:
方法 build_source func build_source(contract: GFNetworkContract, options: Dictionary = {}) -> String:
方法 save_source func save_source(output_path: String, source: String, overwrite_existing: bool = true) -> Error:

常量

DEFAULT_OUTPUT_DIR

  • API:public
const DEFAULT_OUTPUT_DIR: String = "res://gf/generated/network"

默认生成脚本输出目录。

方法

generate

  • API:public
func generate( contract: GFNetworkContract, output_path: String = "", overwrite_existing: bool = true, options: Dictionary = {} ) -> Error:

生成单个契约访问器脚本。

参数:

名称 说明
contract 网络契约资源。
output_path 输出脚本路径;为空时按 contract_id 推导。
overwrite_existing 为 false 时目标已存在会返回 ERR_ALREADY_EXISTS。
options 可选项,支持 class_name。

返回:Godot 错误码。

结构:

  • options: Dictionary,支持 class_name。

generate_many

  • API:public
func generate_many( contract_paths: PackedStringArray, output_dir: String = DEFAULT_OUTPUT_DIR, overwrite_existing: bool = true, options: Dictionary = {} ) -> Dictionary:

批量生成多个契约访问器脚本。

参数:

名称 说明
contract_paths 契约资源路径列表。
output_dir 输出目录。
overwrite_existing 为 false 时目标已存在会跳过。
options 可选项。

返回:生成报告。

结构:

  • options: Dictionary,支持 class_name。
  • return: Dictionary,GFValidationReportDictionary 格式,包含 ok、generated_count、attempted_count、generated、issues、issue_count 和 next_actions。

build_source

  • API:public
func build_source(contract: GFNetworkContract, options: Dictionary = {}) -> String:

构建契约访问器源码。测试或项目工具可直接调用该方法。

参数:

名称 说明
contract 网络契约资源。
options 可选项,支持 class_name。

返回:GDScript 源码。

结构:

  • options: Dictionary,支持 class_name。

save_source

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

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

参数:

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

返回:Godot 错误码。