public interface IItemManager where TSlot : Slot { public static IItemManager Instance; GameItem GetItemFromSlot(int slotId); void RemoveItemFromSlot(int slotId); void AddItemToOpenSlot(GameItem item); void AddItemToSlot(GameItem item, int slotId); void AddSlot(TSlot slot); void RemoveSlot(int slotId); TSlot GetSlot(int slotId); void SwapItems(int slotId1, int slotId2); }