Files
zeling_v2/Assets/_Game/Scripts/Equipment/Effects/AttackSpeedEffect.cs
T

29 lines
867 B
C#

using System;
using UnityEngine;
namespace BaseGames.Equipment
{
/// <summary>
/// 攻击速度加成护符效果(架构 09_ProgressionModule §5)。
/// 修改 PlayerStats.AnimatorSpeedMultiplier,动画控制器查询该倒数应用速度。
/// </summary>
[Serializable]
public class AttackSpeedEffect : ICharmEffect
{
[Range(0.1f, 2.0f)]
public float speedMultiplier = 1.2f; // 动画速度倍率(1.2 = 加速 20%)
public void OnEquip(EquipmentContext ctx)
{
ctx.Stats?.AddAnimatorSpeedBonus(speedMultiplier - 1f);
}
public void OnUnequip(EquipmentContext ctx)
{
ctx.Stats?.RemoveAnimatorSpeedBonus(speedMultiplier - 1f);
}
public string GetEffectDescription() => $"攻击速度 +{(speedMultiplier - 1f) * 100:0}%";
}
}