using System.Collections.Generic;
namespace Models;
///
/// 定义数据的通用结构(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 冲突排查。
///
public sealed class LocalizedText {
///
/// 键值
///
public string Key { get; set; }
///
/// 默认值
///
public string Fallback { get; set; }
}
public sealed class DefinitionHeader {
///
/// 定义ID
///
public string Id { get; set; }
///
/// 名称
///
public LocalizedText Name { get; set; } = new();
///
/// 描述
///
public LocalizedText Description { get; set; } = new();
///
/// 图标路径
///
public string IconPath { get; set; }
///
/// 标签列表
///
public List Tags { get; } = new();
}