GFDecisionSet¶
API Reference / Decision / 类索引
- 路径:
addons/gf/extensions/decision/resources/gf_decision_set.gd - 模块:
Decision - 继承:
Resource - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
4.3.0
候选决策集合。 负责对多个 GFDecisionOption 统一评分、排序并选择分数最高的候选。 集合只返回评分结果,不直接执行业务动作。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 属性 | decision_set_id |
var decision_set_id: StringName = &"" |
| 属性 | decisions |
var decisions: Array[GFDecisionOption] = [] |
| 属性 | minimum_score |
var minimum_score: float = 0.0 |
| 属性 | include_disabled_in_reports |
var include_disabled_in_reports: bool = false |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | add_decision |
func add_decision(decision: GFDecisionOption) -> bool: |
| 方法 | get_decision |
func get_decision(decision_id: StringName) -> GFDecisionOption: |
| 方法 | has_decision |
func has_decision(decision_id: StringName) -> bool: |
| 方法 | remove_decision |
func remove_decision(decision_id: StringName) -> bool: |
| 方法 | clear_decisions |
func clear_decisions() -> void: |
| 方法 | score_all |
func score_all(context: GFDecisionContext) -> Array[GFDecisionScore]: |
| 方法 | select_best |
func select_best(context: GFDecisionContext) -> GFDecisionScore: |
| 方法 | select_best_from_scores |
func select_best_from_scores(scores: Array[GFDecisionScore]) -> GFDecisionScore: |
| 方法 | evaluate |
func evaluate(context: GFDecisionContext) -> GFDecisionEvaluation: |
| 方法 | get_debug_snapshot |
func get_debug_snapshot(context: GFDecisionContext = null, scores: Variant = null) -> Dictionary: |
| 方法 | get_validation_report |
func get_validation_report() -> Dictionary: |
属性¶
decision_set_id¶
- API:
public
候选决策集合标识。
decisions¶
- API:
public
候选决策列表。
结构:
decisions: Array[GFDecisionOption],按顺序评分并用于同分时稳定排序。
minimum_score¶
- API:
public
可被选择的最低分数。
include_disabled_in_reports¶
- API:
public
是否在 score_all() 中包含禁用候选。
metadata¶
- API:
public
项目自定义元数据,框架不解释其中内容。
结构:
metadata: Dictionary[StringName, Variant] project-defined decision-set metadata.
方法¶
add_decision¶
- API:
public
添加候选决策。
参数:
| 名称 | 说明 |
|---|---|
decision |
要添加的候选决策。 |
返回:添加成功返回 true。
get_decision¶
- API:
public
获取候选决策。
参数:
| 名称 | 说明 |
|---|---|
decision_id |
候选决策标识。 |
返回:找到的候选决策;不存在时返回 null。
has_decision¶
- API:
public
检查候选决策是否存在。
参数:
| 名称 | 说明 |
|---|---|
decision_id |
候选决策标识。 |
返回:存在返回 true。
remove_decision¶
- API:
public
移除候选决策。
参数:
| 名称 | 说明 |
|---|---|
decision_id |
候选决策标识。 |
返回:移除成功返回 true。
clear_decisions¶
- API:
public
清空候选决策。
score_all¶
- API:
public
计算所有候选决策分数。
参数:
| 名称 | 说明 |
|---|---|
context |
决策上下文。 |
返回:按分数降序排列的评分结果。
结构:
return: Array[GFDecisionScore],每个候选的评分结果。
select_best¶
- API:
public
选择分数最高的候选决策。
参数:
| 名称 | 说明 |
|---|---|
context |
决策上下文。 |
返回:最佳评分结果;没有可选候选时返回 rejected score。
select_best_from_scores¶
- API:
public - 首次版本:
8.0.0
从已计算评分中选择分数最高的候选决策。
参数:
| 名称 | 说明 |
|---|---|
scores |
已计算的候选评分。 |
返回:最佳评分结果;没有可选候选时返回 rejected score。
结构:
scores: Array[GFDecisionScore],通常来自 score_all() 或 GFDecisionEvaluation.scores。
evaluate¶
- API:
public - 首次版本:
8.0.0
一次性评价集合并返回评分、最佳候选和调试快照。
参数:
| 名称 | 说明 |
|---|---|
context |
决策上下文。 |
返回:决策评价结果。
get_debug_snapshot¶
- API:
public - 首次版本:
7.0.0
获取集合调试快照。
参数:
| 名称 | 说明 |
|---|---|
context |
决策上下文;scores 为 null 时用于现场评分。 |
scores |
已计算的评分快照;显式传入空数组也不会重新评分。 |
返回:调试快照字典。
结构:
return: 包含 decision_set_id、decision_count、minimum_score、scores 和 metadata 字段的 Dictionary。scores: Variant,可为 null 或 Array[GFDecisionScore];null 表示按 context 现场评分,Array 表示完整预计算结果。
get_validation_report¶
- API:
public - 首次版本:
8.0.0
获取集合资源的 authoring 校验报告。
返回:GFValidationReportDictionary 兼容报告。
结构:
return: Dictionary with ok, healthy, decision_set_id, issues, summary, and next_action.