using System; using BaseGames.Player; namespace BaseGames.Equipment { /// /// 属性加成护符效果(架构 09_ProgressionModule §5)。 /// 装备时通过 PlayerStats.AddModifier 叠加固定/百分比属性加成。 /// [Serializable] public class StatModifierEffect : ICharmEffect { public StatType statType; public float flatBonus; // 固定加成(如 +1 HP) public float percentBonus; // 百分比加成(如 +0.2 = +20%) public void OnEquip(EquipmentContext ctx) { ctx.Stats?.AddModifier(statType, flatBonus, percentBonus); } public void OnUnequip(EquipmentContext ctx) { ctx.Stats?.RemoveModifier(statType, flatBonus, percentBonus); } public string GetEffectDescription() => $"{statType}: +{flatBonus} +{percentBonus * 100:0}%"; } }