34 lines
960 B
C#
34 lines
960 B
C#
using System;
|
|
using BITKit;
|
|
using BITKit.Entities;
|
|
|
|
namespace BITFALL.Entities.Equipment
|
|
{
|
|
public interface IEntityEquipment
|
|
{
|
|
IBasicItem CurrentItem { get; }
|
|
event Action<IBasicItem> OnEquip;
|
|
event Action<IBasicItem> OnUnEquip;
|
|
event Action<string> OnEquipAddressable;
|
|
event Action<string> OnUnEquipAddressable;
|
|
int FindIndex(Func<string, bool> factory);
|
|
bool IsSupportItem(IBasicItem item);
|
|
void EntryEquip(IBasicItem item);
|
|
void SetEquipPriority(int priority, IBasicItem item);
|
|
void SetEquipPriority(int priority, int index);
|
|
void RemoveEquipPriority(int priority);
|
|
|
|
void Register(IEquipBase equipBase);
|
|
void UnRegister(IEquipBase equipBase);
|
|
IEquipBase CurrentEquip { get; }
|
|
}
|
|
public interface IEquipBase : IEntryElement, IAwake, IStart, IUpdate
|
|
{
|
|
string AddressablePath { get; }
|
|
IEntity Entity { get; set; }
|
|
IBasicItem Item { get; set; }
|
|
bool IsSupportItem(IBasicItem item);
|
|
void PlayAudio(string name);
|
|
}
|
|
}
|