Типо scriptable object и класс это же ссылочный тип. И есть лист предметов и есть для того чтобы их на ui добавлять и после создания обьекта, вызывается метод Render и там параметр Item и есть поле customItem типо должно наследовать почти все с item, но кроме переменных customItem меняет и переменные предмета.
Если не понятно, то вот код:
Inventory.Items.ForEach(item =>
{
var Amount = item.Amount;
Item customItem = item;
while(true)
{
if(Amount >= item.MaxAmount)
{
customItem.Amount = item.MaxAmount;
Amount -= item.MaxAmount;
var cell = Instantiate(_inventotyCell, _contaner);
cell.Render(customItem);//new Item() { Amount = item.MaxAmount, Image = item.Image });
}
else
{
customItem.Amount = Amount;
Amount = 0;
var cell = Instantiate(_inventotyCell, _contaner);
cell.Render(customItem);//new Item() { Amount = item.MaxAmount, Image = item.Image });
}
if(Amount == 0)
{
break;
}
}
});