using System;
using BaseGames.Player;
using BaseGames.Combat;
using BaseGames.Core.Events;
using BaseGames.Skills;
using BaseGames.Feedback;
namespace BaseGames.Equipment
{
///
/// 护符效果接口(架构 09_ProgressionModule §4)。
/// 所有护符效果均实现此接口,支持 [SerializeReference] 多态序列化。
///
public interface ICharmEffect
{
void OnEquip(EquipmentContext ctx);
void OnUnequip(EquipmentContext ctx);
string GetEffectDescription();
}
///
/// 护符效果上下文:避免接口直接依赖具体 Manager 类(架构 09_ProgressionModule §4)。
///
public struct EquipmentContext
{
public PlayerStats Stats;
public PlayerFeedback Feedback;
public IEventChannelRegistry Events; // SO 事件频道注册表
public SkillModifierRegistry SkillMods; // 技能修改器注册表
public WeaponManager WeaponMgr; // 武器切换管理器
}
}