supervisor-simulator/scripts/Models/SynergyDefinitions.cs
2026-01-11 23:57:24 +08:00

75 lines
2.0 KiB
C#

using System.Collections.Generic;
namespace Models;
/// <summary>
/// 羁绊/职业/特质定义(“人群画像 + 职能分工”)
/// 设计说明:
/// 1) Archetype/Role 采用分层 Tier 模式,满足 2/4/6 叠层设计。
/// 2) Trait 为单体特质,不叠层,仅提供修饰与规则。
/// 注意事项:
/// - Tier 的规则效果写在 RuleIds 中,由系统层解释执行。
/// 未来扩展:
/// - 可加入“跨学科混合羁绊”条件与视觉特效引用。
/// </summary>
public sealed class ArchetypeDefinition
{
/// <summary>
/// 基础头部信息
/// </summary>
public DefinitionHeader Header { get; set; } = new();
/// <summary>
/// 羁绊层级列表
/// </summary>
public List<SynergyTier> Tiers { get; } = new();
}
public sealed class RoleDefinition
{
/// <summary>
/// 基础头部信息
/// </summary>
public DefinitionHeader Header { get; set; } = new();
/// <summary>
/// 羁绊层级列表
/// </summary>
public List<SynergyTier> Tiers { get; } = new();
// 如果是学科限定角色(如炼金术士/极客),在这里配置允许的学科 Id。
/// <summary>
/// 允许的学科ID列表
/// </summary>
public List<string> AllowedDisciplineIds { get; } = new();
}
public sealed class TraitDefinition
{
/// <summary>
/// 基础头部信息
/// </summary>
public DefinitionHeader Header { get; set; } = new();
/// <summary>
/// 修正包
/// </summary>
public ModifierBundle Modifiers { get; set; } = new();
/// <summary>
/// 规则ID列表
/// </summary>
public List<string> RuleIds { get; } = new();
}
public sealed class SynergyTier
{
/// <summary>
/// 需求数量
/// </summary>
public int RequiredCount { get; set; }
/// <summary>
/// 修正包
/// </summary>
public ModifierBundle Modifiers { get; set; } = new();
/// <summary>
/// 规则ID列表
/// </summary>
public List<string> RuleIds { get; } = new();
}