S4-07 process 3

- 组件 Tag 数量预算不再写死在 ResolveTagBudget(...) 里,而是走 RarityTagBudget.txt -> DRRarityTagBudget -> RarityTagBudgetRuleRegistry -> InventoryTagRuleService 这条表驱动链。
- TagBudget.txt:1 新增了按品质的 MinCount/MaxCount,预算缓存和加载入口分别在 RarityTagBudgetRuleRegistry.cs:7 和 ProcedurePreload.cs:18。
- 生成逻辑已经接到新规则,InventoryTagRuleService.cs:10 现在会先按 Tag.txt 过滤/加权,再按 RarityTagBudget 决定抽几个 Tag。
This commit is contained in:
SepComet
2026-03-11 13:16:33 +08:00
parent b1b68ebde5
commit 515fe95441
14 changed files with 303 additions and 39 deletions
@@ -31,6 +31,7 @@ namespace GeometryTD.Procedure
"ShopPrice",
"Sound",
"Tag",
"RarityTagBudget",
"TagConfig",
"OutGameDropPool",
"UIForm",
@@ -213,6 +214,15 @@ namespace GeometryTD.Procedure
TagGenerationRuleRegistry.LoadFromRows(tagTable.GetAllDataRows());
}
}
if (ne.DataTableAssetName == AssetUtility.GetDataTableAsset("RarityTagBudget", false))
{
var tagBudgetTable = GameEntry.DataTable.GetDataTable<DRRarityTagBudget>();
if (tagBudgetTable != null)
{
RarityTagBudgetRuleRegistry.LoadFromRows(tagBudgetTable.GetAllDataRows());
}
}
}
private void OnLoadDataTableFailure(object sender, GameEventArgs e)