77 lines
2.0 KiB
C#
77 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();
|
|
} |