多轮审查和修复
This commit is contained in:
28
Assets/Scripts/Equipment/Effects/StatModifierEffect.cs
Normal file
28
Assets/Scripts/Equipment/Effects/StatModifierEffect.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
|
||||
namespace BaseGames.Equipment
|
||||
{
|
||||
/// <summary>
|
||||
/// 属性加成护符效果(架构 09_ProgressionModule §5)。
|
||||
/// 装备时通过 PlayerStats.AddModifier 叠加固定/百分比属性加成。
|
||||
/// </summary>
|
||||
[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}%";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user