Menu
CoddyTech

Магазин и инвентарь

Часть раздела Создание настоящих игр путешествия по Unity на Coddy. Урок 57 из 60.

Между уровнями герой посещает магазин. На полке его ждут три предмета: шлем, сапоги и плащ. На кнопке каждого указана цена, а кнопка «Работать» позволяет заработать монеты на те предметы, которые герою пока не по карману. Купленные героем предметы добавляются в список инвентаря внизу, а оставшиеся монеты и приобретённые предметы сохраняются и при следующем запуске игры.

Напиши два скрипта: Shop для объекта Shop и ShopItem для кнопки каждого предмета.

challenge icon

Задание

Сложно

Напиши Shop и ShopItem с сохранением данных через PlayerPrefs.

  1. Shop: монеты хранятся под ключом Coins (для нового игрока: startCoins) и отображаются как Coins: 100; кнопка «Работать» добавляет pay.
  2. ShopItem: предмет считается купленным, если Owned_Helmet равно 1; надпись — Helmet: 40 или Helmet: owned; предмет доступен для нажатия, если он ещё не куплен и хватает монет; нажатие покупает предмет.
  3. inventoryText: Inventory: Helmet, Cape или Inventory: empty. Сохраняй данные и перерисовывай интерфейс при каждом изменении.

Нажми «Играть», соверши покупку, нажми «Остановить» и снова начни игру. Затем нажми «Проверить».

Попробуйте сами

using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class Shop : MonoBehaviour
{
    public int startCoins = 100;
    public int pay = 25;
    public TMP_Text coinsText;
    public TMP_Text inventoryText;
    public Button workButton;
    public ShopItem[] items;
}

Все уроки раздела Создание настоящих игр

Потренируйтесь самостоятельно: Песочница Unity