86 lines
1.9 KiB
C#
86 lines
1.9 KiB
C#
using System.Collections.Generic;
|
||
|
||
namespace Models;
|
||
|
||
/// <summary>
|
||
/// 统一的数值修饰结构(用于学科 Buff、羁绊、装备、特质)
|
||
/// 设计说明:
|
||
/// 1) 只表达“加成/倍率/规则”,不直接改变模型数值。
|
||
/// 2) 计算由系统层统一处理,便于叠加与回滚。
|
||
/// 注意事项:
|
||
/// - 这里的 Multiplier 默认 1.0f,不是百分比。
|
||
/// 未来扩展:
|
||
/// - 可加入“条件触发”与“持续时间”字段。
|
||
/// </summary>
|
||
public sealed class AttributeModifier {
|
||
/// <summary>
|
||
/// 属性类型
|
||
/// </summary>
|
||
public AttributeType Type { get; set; }
|
||
|
||
/// <summary>
|
||
/// 加值
|
||
/// </summary>
|
||
public float Add { get; set; }
|
||
|
||
/// <summary>
|
||
/// 乘数
|
||
/// </summary>
|
||
public float Multiplier { get; set; } = 1.0f;
|
||
}
|
||
|
||
public sealed class StatusModifier {
|
||
/// <summary>
|
||
/// 状态类型
|
||
/// </summary>
|
||
public StatusType Type { get; set; }
|
||
|
||
/// <summary>
|
||
/// 加值
|
||
/// </summary>
|
||
public float Add { get; set; }
|
||
|
||
/// <summary>
|
||
/// 乘数
|
||
/// </summary>
|
||
public float Multiplier { get; set; } = 1.0f;
|
||
}
|
||
|
||
public sealed class ResourceModifier {
|
||
/// <summary>
|
||
/// 资源类型
|
||
/// </summary>
|
||
public ResourceType Type { get; set; }
|
||
|
||
/// <summary>
|
||
/// 加值
|
||
/// </summary>
|
||
public int Add { get; set; }
|
||
|
||
/// <summary>
|
||
/// 乘数
|
||
/// </summary>
|
||
public float Multiplier { get; set; } = 1.0f;
|
||
}
|
||
|
||
public sealed class ModifierBundle {
|
||
/// <summary>
|
||
/// 属性修正列表
|
||
/// </summary>
|
||
public List<AttributeModifier> AttributeModifiers { get; } = new();
|
||
|
||
/// <summary>
|
||
/// 状态修正列表
|
||
/// </summary>
|
||
public List<StatusModifier> StatusModifiers { get; } = new();
|
||
|
||
/// <summary>
|
||
/// 资源修正列表
|
||
/// </summary>
|
||
public List<ResourceModifier> ResourceModifiers { get; } = new();
|
||
|
||
/// <summary>
|
||
/// 规则ID列表
|
||
/// </summary>
|
||
public List<string> RuleIds { get; } = new();
|
||
} |