多轮审查和修复
This commit is contained in:
30
Assets/Scripts/Equipment/Effects/SkillSlotOverrideEffect.cs
Normal file
30
Assets/Scripts/Equipment/Effects/SkillSlotOverrideEffect.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
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}]";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user