supervisor-simulator/resources/definitions/discipline_biology.tres
wjsjwr 39682f14fe 已落地 .tres/json 的内容定义入口,并把 ResourceContentSource/JsonContentSource 实现为可用的加载器;同时给出可运行的样例定义文件,默认会在 GameSession.CreateDefault() 中注册加载。
改动说明
  - 实现内容加载器并支持 res:///user:// 路径解析与 JSON 枚举解析:scripts/Core/ContentRegistry.cs
  - 新增 .tres 资源定义接口与样例资源类(学科定义):scripts/Core/ContentResources.cs
  - 默认注册资源/JSON 数据源,启动时自动合并进内容库:scripts/Core/GameSession.cs
  - 样例 .tres 与 JSON 内容定义:resources/definitions/discipline_biology.tres, resources/definitions/disciplines.json, resources/definitions/archetypes.json
  - 当前 .tres 走“扁平字段 + RuleIds”,数值型 Modifier 更适合先用 JSON 落地,后续可以把更多字段迁入资源类。
  - JSON 采用与 Models 定义一致的结构(DefinitionHeader/LocalizedText/ModifierBundle),便于后续扩展。
2026-01-01 01:59:57 +08:00

22 lines
870 B
Plaintext

[gd_resource type="Resource" script_class="DisciplineDefinitionResource" load_steps=2 format=3]
[ext_resource type="Script" path="res://scripts/Core/DisciplineDefinitionResource.cs" id=1]
[resource]
script = ExtResource("1")
Id = "core:discipline_biology_tres"
NameKey = "discipline.biology.name"
NameFallback = "Biology"
DescriptionKey = "discipline.biology.desc"
DescriptionFallback = "Lab-intensive discipline focused on experiments."
IconPath = ""
Tags = [ "discipline" ]
BuffNameKey = "buff.pipette_master.name"
BuffNameFallback = "Pipette Master"
BuffDescriptionKey = "buff.pipette_master.desc"
BuffDescriptionFallback = "Higher lab success, higher stamina cost."
BuffRuleIds = [ "rule:discipline_biology_pipette_master" ]
RolePoolIds = [ "core:role_alchemist", "core:role_lab_rat" ]
ItemPoolIds = [ "core:item_pipette" ]
TaskKeywordIds = [ "task_keyword_lab" ]