跳转至

权重表

GFWeightedTable 是通用权重选择原语。它只管理候选值、权重、随机源和可选元数据,不解释这些值是奖励、AI 决策、音效变体还是关卡片段。

需要可复现结果时,传入 RandomNumberGenerator 或设置表上的 deterministic_seed

var table := GFWeightedTable.new()
table.add_entry(&"small", 70.0)
table.add_entry(&"medium", 25.0)
table.add_entry(&"large", 5.0)

var rng := RandomNumberGenerator.new()
rng.seed = 12345
var picked_value := table.pick_value(rng)
var batch := table.pick_many(3, rng, false)

资源化条目适合编辑器配置或导表后转换;字典序列化方法只保留通用字段,项目层可以自由决定 valuemetadata 的结构。

复杂业务校验仍应放在项目自己的配置管线中,而不是塞进权重表。