- 组合式单位与数值基础重构:scripts/Models/UnitModel.cs, scripts/Models/UnitComponents.cs, scripts/Models/StudentModel.cs, scripts/Models/MentorModel.cs, scripts/Models/StaffModel.cs, scripts/Models/PropertyValue.cs, scripts/Models/StatusValue.cs - 任务与运行时状态骨架:scripts/Models/Task.cs, scripts/Models/TaskDefinitions.cs, scripts/Models/GameState.cs - 配置与规则定义骨架:scripts/Models/DefinitionSupport.cs, scripts/Models/DomainEnums.cs, scripts/Models/Modifiers.cs, scripts/Models/DisciplineDefinitions.cs, scripts/Models/SynergyDefinitions.cs, scripts/Models/ItemDefinitions.cs, scripts/Models/PaperDefinitions.cs, scripts/Models/RogueliteDefinitions.cs, scripts/Models/GameContentDatabase.cs, scripts/Models/CoreIds.cs - MVC/会话/系统/i18n/Mod 支撑:scripts/Core/GameSession.cs, scripts/Core/GameSystems.cs, scripts/Core/GameController.cs, scripts/Core/Mvc.cs, scripts/Core/LocalizationService.cs, scripts/Core/ContentRegistry.cs, scripts/Core/ModManifest.cs, scripts/Core/EventBus.cs - 主控流程衔接:scripts/GameManager.cs
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
using System.Collections.Generic;
|
||
|
||
namespace Models;
|
||
|
||
/// <summary>
|
||
/// 定义数据的通用结构(i18n + 标识 + 标签)
|
||
/// 设计说明:
|
||
/// 1) LocalizedText 只保存 Key/Fallback,不做翻译,翻译交给服务层。
|
||
/// 2) DefinitionHeader 用组合而非继承,避免所有定义都挂在同一基类。
|
||
/// 3) Tags 统一用 string Id,便于 Mod 增删与过滤。
|
||
/// 注意事项:
|
||
/// - 资源路径统一使用 res:// 且小写下划线。
|
||
/// - Id 建议使用 “namespace:name” 形式,例如 “core:discipline_biology”。
|
||
/// 未来扩展:
|
||
/// - 可加入 Icon/Color/SortOrder 以支持 UI 排序与分组。
|
||
/// - 可加入 Source/Version 字段用于 Mod 冲突排查。
|
||
/// </summary>
|
||
public sealed class LocalizedText
|
||
{
|
||
public string Key { get; set; }
|
||
public string Fallback { get; set; }
|
||
}
|
||
|
||
public sealed class DefinitionHeader
|
||
{
|
||
public string Id { get; set; }
|
||
public LocalizedText Name { get; set; } = new();
|
||
public LocalizedText Description { get; set; } = new();
|
||
public string IconPath { get; set; }
|
||
public List<string> Tags { get; } = new();
|
||
}
|
||
|