GFDialogueLine¶
API Reference / Dialogue / 类索引
- 路径:
addons/gf/extensions/dialogue/resources/gf_dialogue_line.gd - 模块:
Dialogue - 继承:
Resource - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
3.17.0
通用对话流程行。 行可以表示可展示文本、跳转、mutation 请求或结束点。它不规定剧本语法、 对话框 UI、角色表或项目状态字段。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 枚举 | LineKind |
enum LineKind |
| 属性 | line_id |
var line_id: StringName = &"" |
| 属性 | kind |
var kind: LineKind = LineKind.TEXT |
| 属性 | speaker_id |
var speaker_id: StringName = &"" |
| 属性 | text |
var text: String = "" |
| 属性 | next_line_id |
var next_line_id: StringName = &"" |
| 属性 | jump_line_id |
var jump_line_id: StringName = &"" |
| 属性 | condition_id |
var condition_id: StringName = &"" |
| 属性 | condition_payload |
var condition_payload: Variant = null |
| 属性 | fallback_line_id |
var fallback_line_id: StringName = &"" |
| 属性 | mutation_id |
var mutation_id: StringName = &"" |
| 属性 | mutation_payload |
var mutation_payload: Variant = null |
| 属性 | responses |
var responses: Array[GFDialogueResponse] = [] |
| 属性 | tags |
var tags: PackedStringArray = PackedStringArray() |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | has_responses |
func has_responses() -> bool: |
| 方法 | get_available_responses |
func get_available_responses(context: GFDialogueContext = null) -> Array[GFDialogueResponse]: |
| 方法 | get_response |
func get_response(response_id: StringName) -> GFDialogueResponse: |
| 方法 | can_enter |
func can_enter(context: GFDialogueContext) -> bool: |
| 方法 | get_default_next_line_id |
func get_default_next_line_id() -> StringName: |
| 方法 | duplicate_line |
func duplicate_line() -> GFDialogueLine: |
| 方法 | to_dictionary |
func to_dictionary() -> Dictionary: |
枚举¶
LineKind¶
- API:
public
enum LineKind { ## 可展示文本行。 TEXT, ## 请求执行上下文 mutation 后继续。 MUTATION, ## 直接跳转到另一行。 JUMP, ## 结束当前对话。 END, }
对话行类型。
属性¶
line_id¶
- API:
public
行 ID。
kind¶
- API:
public
行类型。
speaker_id¶
- API:
public
说话者 ID 或项目自定义主体键。
text¶
- API:
public
文本或项目自定义文本键。
next_line_id¶
- API:
public
默认后继行 ID。
jump_line_id¶
- API:
public
跳转行 ID。kind == JUMP 时优先使用。
condition_id¶
- API:
public
条件 ID。为空表示不需要条件判断。
condition_payload¶
- API:
public
条件载荷。框架只透传给上下文处理器。
结构:
condition_payload: 条件处理器接收的任意项目载荷;框架只透传,不解释其中结构。
fallback_line_id¶
- API:
public
条件不通过时的后继行 ID。为空时由 Runner 按策略跳过或结束。
mutation_id¶
- API:
public
mutation ID。kind == MUTATION 时由 Runner 请求上下文处理。
mutation_payload¶
- API:
public
mutation 载荷。框架只透传给上下文处理器。
结构:
mutation_payload: mutation 处理器接收的任意项目载荷;框架只透传,不解释其中结构。
responses¶
- API:
public
响应选项。
tags¶
- API:
public
语义标签。框架不解释标签含义。
metadata¶
- API:
public
项目自定义元数据。框架不解释该字段。
结构:
metadata: 项目自定义元数据 Dictionary;框架保留并复制该字段,但不解释其中键值。
方法¶
has_responses¶
- API:
public
检查行是否有响应。
返回:存在响应时返回 true。
get_available_responses¶
- API:
public
获取可用响应。
参数:
| 名称 | 说明 |
|---|---|
context |
对话上下文。 |
返回:可用响应列表。
get_response¶
- API:
public
按 ID 获取响应。
参数:
| 名称 | 说明 |
|---|---|
response_id |
响应 ID。 |
返回:响应;不存在时返回 null。
can_enter¶
- API:
public
检查行是否可进入。
参数:
| 名称 | 说明 |
|---|---|
context |
对话上下文。 |
返回:可进入时返回 true。
get_default_next_line_id¶
- API:
public
获取默认后继行 ID。
返回:后继行 ID。
duplicate_line¶
- API:
public
创建深拷贝。
返回:行副本。
to_dictionary¶
- API:
public
转换为字典。
返回:行快照。
结构:
return: 包含 line_id、kind、speaker_id、text、next_line_id、jump_line_id、condition_id、condition_payload、fallback_line_id、mutation_id、mutation_payload、responses、tags 和 metadata 字段的 Dictionary。