public void SwapCell(ref CellData selectedCell) { CellData tempTransition = new CellData(index, itemData, defaultIcon, cellType, stackAmount); tempTransition.dataUpdate = dataUpdate; AssignItem(selectedCell.itemData, selectedCell.stackAmount); selectedCell.AssignItem(tempTransition.itemData, tempTransition.stackAmount); }
public void ExchangeGoods(ref CellData currentCell, ref CellData previousCell) { if (HasSameData(currentCell.itemData) && itemData.isStackable) { int newStackAmount = stackAmount + currentCell.stackAmount; if (newStackAmount > currentCell.itemData.stackAmount) { previousCell.AssignItem(currentCell.itemData, currentCell.stackAmount); SwapCell(ref currentCell); } else { AssignDataToCell(ref currentCell, ref previousCell); } } else { previousCell.AssignItem(currentCell.itemData, currentCell.stackAmount); SwapCell(ref currentCell); } }