2024-06-12 09:57:38 +00:00
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
using ColdMint.scripts.inventory;
|
2024-06-11 16:51:40 +00:00
|
|
|
|
|
|
|
|
|
using Godot;
|
|
|
|
|
|
|
|
|
|
namespace ColdMint.scripts.item;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2024-06-12 09:57:38 +00:00
|
|
|
|
/// <para>Item stack of single item</para>
|
2024-06-11 16:51:40 +00:00
|
|
|
|
/// </summary>
|
|
|
|
|
//maybe we'd move this into inventory namespace
|
2024-06-12 09:57:38 +00:00
|
|
|
|
public struct SingleItemStack(IItem_New item) : IItemStack
|
2024-06-11 16:51:40 +00:00
|
|
|
|
{
|
|
|
|
|
public IItem_New Item { get; init; } = item;
|
|
|
|
|
|
|
|
|
|
public string Id => Item.Id;
|
|
|
|
|
public int MaxQuantity => 1;
|
2024-06-12 09:57:38 +00:00
|
|
|
|
public int Quantity { get; set; } = 1;
|
2024-06-11 16:51:40 +00:00
|
|
|
|
public Texture2D Icon => Item.Icon;
|
|
|
|
|
public string Name => Item.Name;
|
|
|
|
|
public string? Description => Item.Description;
|
2024-06-12 09:57:38 +00:00
|
|
|
|
|
|
|
|
|
public bool CanAddItem(IItem_New item) => false;
|
|
|
|
|
|
|
|
|
|
public bool AddItem(IItem_New item) => false;
|
|
|
|
|
|
|
|
|
|
public int CanTakeFrom(IItemStack itemStack) => 0;
|
|
|
|
|
|
|
|
|
|
public int TakeFrom(IItemStack itemStack) => 0;
|
|
|
|
|
|
|
|
|
|
public int RemoveItem(int number)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void ClearStack()
|
|
|
|
|
{
|
|
|
|
|
throw new System.NotImplementedException();
|
|
|
|
|
}
|
2024-06-11 16:51:40 +00:00
|
|
|
|
}
|