Menu
CoddyTech

Loja e Inventário

Parte da seção Criando jogos de verdade do Journey de Unity da Coddy. Lição 54 de 56.

Entre os níveis, o herói visita uma loja. Três itens aguardam na prateleira: um Helmet, Boots e uma Cape, cada um em um botão que mostra seu preço, e um botão Work rende moedas para aqueles que o herói ainda não pode comprar. O que o herói compra vai para o inventário listado na parte inferior, e as moedas restantes e os itens adquiridos continuam lá na próxima vez que o jogo iniciar.

Escreva dois scripts: Shop no objeto Shop e ShopItem no botão de cada item.

challenge icon

Desafio

Difícil

O Inspector fornece a Shop startCoins (100), pay (25), coinsText, inventoryText, workButton e items, os três ShopItems na ordem em que aparecem na prateleira. Ele fornece a cada ShopItem seu itemName e price (Helmet 40, Boots 60, Cape 120), label (o texto no botão) e shop.

  • As moedas são salvas com a chave Coins; um jogador sem dados salvos começa com startCoins. coinsText as exibe como Coins: 100.
  • Cada clique em Work rende pay moedas.
  • Um item é considerado possuído quando a chave Owned_ mais seu nome (Owned_Helmet) contém 1. O rótulo exibe Helmet: 40 enquanto o item está à venda e Helmet: owned quando ele é adquirido.
  • O botão de um item só pode ser clicado enquanto o item não for possuído e o jogador tiver pelo menos o valor do preço. Clicar nele compra o item: o preço é descontado das moedas e o item passa a ser possuído.
  • inventoryText lista os itens possuídos na ordem em que aparecem na prateleira, como Inventory: Helmet, Cape, ou exibe Inventory: empty.
  • Toda alteração é salva imediatamente, e todos os textos e botões mostram o novo estado.

Pressione Play, faça compras e trabalhe, pressione Stop e Play novamente e, em seguida, Check.

Experimente você mesmo

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;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Criando jogos de verdade