1
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using Microsoft.SqlServer.Server;
|
||||
|
||||
namespace BITKit
|
||||
{
|
||||
@@ -7,89 +8,63 @@ namespace BITKit
|
||||
/// 支持属性
|
||||
/// 支持回调
|
||||
/// </summary>
|
||||
public interface IBasicItemContainer
|
||||
public interface IRuntimeItemContainer:IBinarySerialize
|
||||
{
|
||||
/// <summary>
|
||||
/// 物品容器的唯一Id
|
||||
/// </summary>
|
||||
int Id { get; }
|
||||
/// <summary>
|
||||
/// 尝试获取指定Item
|
||||
/// </summary>
|
||||
bool TryGetItem(Func<IBasicItem, bool> func, out IBasicItem item);
|
||||
/// <summary>
|
||||
/// 获取所有Item的只读副本
|
||||
/// </summary>
|
||||
IBasicItem[] GetItems();
|
||||
IRuntimeItem[] GetItems();
|
||||
/// <summary>
|
||||
/// 添加物品的接口
|
||||
/// </summary>
|
||||
bool Add(IBasicItem item);
|
||||
/// <summary>
|
||||
/// 通过Item本身进行移除
|
||||
/// </summary>
|
||||
bool Remove(IBasicItem item);
|
||||
bool Add(IRuntimeItem item);
|
||||
/// <summary>
|
||||
/// 通过Id移除物品(推荐)
|
||||
/// </summary>
|
||||
bool Remove(int id);
|
||||
/// <summary>
|
||||
/// 通过工厂方法移除物品
|
||||
/// </summary>
|
||||
bool Remove(Func<IBasicItem, bool> removeFactory);
|
||||
/// <summary>
|
||||
/// 通过通过Id丢下物品
|
||||
/// </summary>
|
||||
bool Drop(int Id);
|
||||
bool DropOrSpawn(IBasicItem item);
|
||||
bool Drop(int id);
|
||||
/// <summary>
|
||||
/// 注册添加物品的工厂方法,
|
||||
/// </summary>
|
||||
event Func<IBasicItem, bool> AddFactory;
|
||||
event Func<IRuntimeItem, bool> AddFactory;
|
||||
/// <summary>
|
||||
/// 注册移除物品的工厂方法
|
||||
/// </summary>
|
||||
event Func<IBasicItem, bool> RemoveFactory;
|
||||
event Func<IRuntimeItem, bool> RemoveFactory;
|
||||
/// <summary>
|
||||
/// 注册丢下物品的工厂方法
|
||||
/// </summary>
|
||||
event Func<IBasicItem, bool> DropFactory;
|
||||
event Func<IRuntimeItem, bool> DropFactory;
|
||||
/// <summary>
|
||||
/// 已添加Item的回调
|
||||
/// </summary>
|
||||
event Action<IBasicItem> OnAdd;
|
||||
|
||||
event Action<IRuntimeItem> OnAdd;
|
||||
/// <summary>
|
||||
/// 已移除Item的回调
|
||||
/// </summary>
|
||||
event Action<IBasicItem> OnRemove;
|
||||
event Action<IRuntimeItem> OnRemove;
|
||||
/// <summary>
|
||||
/// 已设置Item的回调
|
||||
/// </summary>
|
||||
event Action<IBasicItem> OnSet;
|
||||
event Action<IRuntimeItem> OnSet;
|
||||
/// <summary>
|
||||
/// 已丢下Item的回调
|
||||
/// </summary>
|
||||
event Action<IBasicItem> OnDrop;
|
||||
event Action<IRuntimeItem> OnDrop;
|
||||
/// <summary>
|
||||
/// 已重构Items的回调
|
||||
/// </summary>
|
||||
event Action<IBasicItemContainer> OnRebuild;
|
||||
|
||||
event Action<IRuntimeItemContainer> OnRebuild;
|
||||
/// <summary>
|
||||
/// 是否已完成物品交换,例如false就是开始交换物品true就是已完成交换物品,可以处理物品了
|
||||
/// </summary>
|
||||
event Action<bool> OnRelease;
|
||||
/// <summary>
|
||||
/// 添加挂起句柄
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
void AddHandle(int id);
|
||||
/// <summary>
|
||||
/// 移除挂起句柄
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
void RemoveHandle(int id);
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user