supervisor-simulator/scripts/Models/GameContentDatabase.cs
2026-01-18 20:05:23 +08:00

55 lines
1.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Collections.Generic;
namespace Models;
/// <summary>
/// 游戏内容数据库Definitions 聚合)
/// 设计说明:
/// 1) 将所有配置型数据集中到一个对象,便于系统层按 Id 索引。
/// 2) 由 ContentRegistry 构建,支持 Mod 覆盖/合并。
/// 注意事项:
/// - 本对象只存配置,不存运行时状态。
/// 未来扩展:
/// - 可加入“索引缓存”(如按学科/稀有度过滤)。
/// </summary>
public sealed class GameContentDatabase {
/// <summary>
/// 学科定义字典
/// </summary>
public Dictionary<string, DisciplineDefinition> Disciplines { get; } = new();
/// <summary>
/// 原型定义字典
/// </summary>
public Dictionary<string, ArchetypeDefinition> Archetypes { get; } = new();
/// <summary>
/// 角色定义字典
/// </summary>
public Dictionary<string, RoleDefinition> Roles { get; } = new();
/// <summary>
/// 特质定义字典
/// </summary>
public Dictionary<string, TraitDefinition> Traits { get; } = new();
/// <summary>
/// 任务定义字典
/// </summary>
public Dictionary<string, TaskDefinition> Tasks { get; } = new();
/// <summary>
/// 物品定义字典
/// </summary>
public Dictionary<string, ItemDefinition> Items { get; } = new();
/// <summary>
/// 论文定义字典
/// </summary>
public Dictionary<string, PaperDefinition> Papers { get; } = new();
/// <summary>
/// 肉鸽天赋定义字典
/// </summary>
public Dictionary<string, RoguelitePerkDefinition> RoguelitePerks { get; } = new();
}