Привет всем. Я видел пару туториалов по созданию инвентаря и решил поделиться своим способом его создания.
Концепт
То, как наш инвентарь будет работать:
Для начала, нам понадобится массив %сколько вам нужно ячеек% в ширину и 2 строчки в высоту. В первой строчке мы будем хранить ID предметов, а во второй - их количество.
Помните, что наши ID предметов это не UID Констракта. Вам нужно придумать эти числа самому. Например, объекту "Apple" мы можем присвоить ID = 1, а объекту "Coin" ID = 2.
Когда вы нажмете на ячейку инвентаря, вам нужно будет сохранить информацию о ней, чтобы продолжить работу дальше. Для этого нам понадобятся 3 переменные:
startslot = id начальной ячейки инвентаря
startitem = id предмета в начальной ячейке инвентаря
startnumber = количество этого предмета
После того, как вы выбрали необходимую ячейку, вы выбираете ячейку, в которую хотите переложить свой предмет. Для этого нам нужно еще 3 переменные:
endslot
enditem
endnumber
После этого, вам нужно просто поменять значения в массиве, используя эти переменные:
Inventory.at(startslot,0) → Inventory.at(endslot,0)
Inventory.at(startslot,1) → Inventory.at(endslot,1)
Inventory.at(endslot,0) → Inventory.at(startslot,0)
Inventory.at(endslot,1) → Inventory.at(startslot,1)
По сути, мы сделали то, что хотели. Теперь приступим к практике.