31 lines
1.0 KiB
C#
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}]";
|
||
}
|
||
}
|
||
}
|