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.
Desafio
DifícilO 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 comstartCoins.coinsTextas exibe comoCoins: 100. - Cada clique em Work rende
paymoedas. - Um item é considerado possuído quando a chave
Owned_mais seu nome (Owned_Helmet) contém 1. O rótulo exibeHelmet: 40enquanto o item está à venda eHelmet: ownedquando 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.
inventoryTextlista os itens possuídos na ordem em que aparecem na prateleira, comoInventory: Helmet, Cape, ou exibeInventory: 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;
}
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
1Texto na tela
Canvas e textoExiba a pontuaçãoFormate númerosUm cronômetro regressivoRevisão: velocímetro4Cenas e Fases
Carregar uma CenaReiniciar a FasePróxima FaseManter entre CenasRevisão: Seleção de Fases10Projeto: Jogo de Plataforma 3D
O PercursoPlataformas Móveis2Botões e telas
Botões e onClickLambdasConectando no InspectorPainéis ligados e desligadosBarras de vidaRevisão: Loja de melhorias5Salvando com PlayerPrefs
Salvar um númeroCarregar com um valor padrãoRecordeSalvar configuraçõesRevisão: Moedas no banco