29 lines
867 B
C#
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}%";
|
||
}
|
||
}
|