using System; using BaseGames.Skills; namespace BaseGames.Equipment { /// /// 技能插槽替换护符效果(架构 09_ProgressionModule §5)。 /// 将指定形态的某技能槽替换为另一技能。 /// [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}]"; } } }