39 lines
848 B
C#
39 lines
848 B
C#
using Chickensoft.Serialization;
|
|
|
|
namespace Zennysoft.Ma.Adapter;
|
|
|
|
public class RescuedItemDatabase
|
|
{
|
|
[Save("rescued_item_list")]
|
|
private List<IBaseInventoryItem> _items { get; init; }
|
|
private int _maxSize { get; init; } = 20;
|
|
|
|
public RescuedItemDatabase(int maxSize)
|
|
{
|
|
_items = [];
|
|
_maxSize = maxSize;
|
|
}
|
|
|
|
public RescuedItemDatabase(List<IBaseInventoryItem> items, int maxSize)
|
|
{
|
|
_items = items;
|
|
_maxSize = maxSize;
|
|
}
|
|
|
|
public bool TryAdd(IBaseInventoryItem item)
|
|
{
|
|
if (_items.Count >= _maxSize)
|
|
return false;
|
|
if (item is IEquipableItem equipable)
|
|
equipable.Glued = false;
|
|
_items.Add(item);
|
|
return true;
|
|
}
|
|
|
|
public void Remove(IBaseInventoryItem item) => _items.Remove(item);
|
|
|
|
public List<IBaseInventoryItem> GetItems() => _items;
|
|
|
|
public void Clear() => _items.Clear();
|
|
}
|