Files
BITFALL/Assets/BITFALL/Entities/Equipment/IEntityEquipment.cs
2024-08-11 16:16:31 +08:00

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);
}
}