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

31 lines
1.0 KiB
C#

using System;
using BaseGames.Skills;
namespace BaseGames.Equipment
{
/// <summary>
/// 技能插槽替换护符效果(架构 09_ProgressionModule §5)。
/// 将指定形态的某技能槽替换为另一技能。
/// </summary>
[Serializable]
public class SkillSlotOverrideEffect : ICharmEffect
{
public SkillSlotOverride overrideData;
public void OnEquip(EquipmentContext ctx)
=> ctx.SkillMods?.AddSlotOverride(overrideData);
public void OnUnequip(EquipmentContext ctx)
=> ctx.SkillMods?.RemoveSlotOverride(overrideData);
public string GetEffectDescription()
{
string formStr = overrideData.targetForm != null
? overrideData.targetForm.name : "所有形态";
string skillName = overrideData.replacementSkill != null
? overrideData.replacementSkill.displayNameKey : "null";
return $"{formStr}的 {overrideData.targetSlot} 替换为 [{skillName}]";
}
}
}