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