Revisão: Comprar na Loja
Parte da seção Arquitetura de Jogos no Unity do Journey de Unity da Coddy. Lição 29 de 64.
Este capítulo moveu os dados para recursos compartilhados por muitos objetos. Os itens da loja são esses recursos, então aquilo que o jogador compra pertence à Shop, nunca aos itens.
Desafio
FácilFaça com que a tecla Espaço compre o item selecionado, sem alterar os assets.
- Mantenha os itens comprados em
List<ItemData> ownedna loja. - Ao pressionar Espaço, se o item já tiver sido comprado, registre
Already owned: Iron Sword; se custar mais quegold, registreNot enough gold for Iron Sword. - Caso contrário, subtraia o preço de
gold, adicione o item aowned, registreBought Iron Sworde atualize os textos.
Pressione “Jogar” e compre o Long Bow. Depois, clique em “Verificar”.
Experimente você mesmo
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;
public class Shop : MonoBehaviour
{
public ItemDatabase database;
public TMP_Text itemText;
public TMP_Text goldText;
public int gold = 50;
private int index;
void Start()
{
Show();
}
void Update()
{
if (Keyboard.current.rightArrowKey.wasPressedThisFrame)
{
index = (index + 1) % database.items.Count;
Show();
}
if (Keyboard.current.leftArrowKey.wasPressedThisFrame)
{
index = (index - 1 + database.items.Count) % database.items.Count;
Show();
}
// Space: comprar o item selecionado
}
void Show()
{
ItemData item = database.items[index];
itemText.text = item.itemName + ": " + item.price + " gold";
goldText.text = "Gold: " + gold;
}
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Arquitetura de Jogos no Unity
1Componentes, não hierarquias
Componentes pequenosUm script base de inimigoComponentes abstratosComponentes trabalhando juntosRevisão: torre modularRevisão: canhão duplo4Dados Serializados
Classes SerializáveisListas no InspectorEnums no InspectorRevisão: Tabela de LootRevisão: Sorteie o Loot2Interfaces no Unity
IDamageableInterfaces e TryGetComponentGetComponentsRevisão: tecla de interaçãoRevisão: mais próximo ao alcance5ScriptableObjects
Ativos de DadosAtributos da ArmaConfigurações CompartilhadasSalve o VentoOndas como DadosRevisão: Banco de ItensRevisão: Comprar na LojaPratique por conta própria: Playground de Unity