Net.Project.B/Src/Inventory/IPlayerInventory.cs

43 lines
1.0 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using BITKit;
namespace Net.Project.B.Inventory
{
/// <summary>
/// 玩家背包
/// </summary>
public interface IPlayerInventory
{
int Size { get; }
/// <summary>
/// 背包
/// </summary>
public IRuntimeItemContainer Container { get; }
/// <summary>
/// 拾取物品的工厂方法
/// </summary>
event Action<IRuntimeItem> OnPickupItemFactory;
/// <summary>
/// 使用物品的工厂方法,如果返回true则代表物品已被其他逻辑处理
/// </summary>
event Action<IRuntimeItem> UseFactory;
/// <summary>
/// 使用物品的事件,如果返回true则代表物品已被其他逻辑处理
/// </summary>
event Action<IRuntimeItem> OnUsedItem;
event Func<IRuntimeItem,bool> ConsumeFactory;
event Action<IRuntimeItem> OnConsumedItem;
void UseItem(int id);
void ConsumeItem(int id);
}
}