using System.Collections.Generic;
namespace BaseGames.Equipment
{
///
/// 装备管理服务接口。UI 层通过此接口读取护符状态并驱动装备操作,
/// 与 EquipmentManager 具体实现解耦,便于独立测试和跨场景复用。
///
public interface IEquipmentService
{
/// 已使用的 Notch 数量(缓存值,避免每帧 LINQ Sum)。
int UsedNotches { get; }
/// Notch 总容量。
int TotalNotches { get; }
/// 当前已装备护符列表(只读视图)。
IReadOnlyList Equipped { get; }
/// 已收集护符列表(只读视图)。
IReadOnlyList Collected { get; }
///
/// 装备护符。返回 null 表示成功;返回错误描述字符串表示失败原因。
///
string TryEquipCharm(CharmSO charm);
/// 卸下指定护符。
void UnequipCharm(CharmSO charm);
}
}