Стаки предметов в одной ячейке на Unity C#
Реализовал систему инвентаря с помощью SO, создал предметы тоже с SO, но нужно чтобы когда игрок их поднимал они либо: а) собирались в стак, если их меньше чем максимальное значение стака; б) Предмет помещался в следующую ячейку и тд. возникает следующая проблема
public class Item : ScriptableObject
{
public string Name;
public int stackSize = 0; // Текущее количество в стаке
public int maxStackSize = 10; // Максимальное количество в стаке
public bool CanStack() //проверка для наличия места для след. предмета
{
return stackSize < maxStackSize;
}
public bool NoItems() //проверка на отсут. предмета,
{
return stackSize == 0;
}
}
при "подбирании" предмета - stackSize++; при выкидывании соответсвенно StackSize--; и в случае если предметов больше чем MaxStackSize происходит следующее
Я понимаю что решение состоит в том, чтобы каким то образом сохранять каждый предмет по отдельности в опр ячейки, но я не понимаю как это сделать. кто сможет помогите, буду премного благодарен