Receitas de Criação
Parte da seção Arquitetura de Jogos no Unity do Journey de Unity da Coddy. Lição 63 de 64.
Desafio
DifícilAdicione as receitas a CraftingBench.
- Adicione
Ingredientserializável (itemeamountpúblicos) eRecipe(resultpúblico eList<Ingredient> needs), além de umList<Recipe> recipespúblico. - Em
Start,recipeButtons[i]chamaCraft(i). public void Craft(int index): quando todos os ingredientes necessários estiverem disponíveis, remova-os, adicione um resultado e registreCrafted Axe.Refreshdeixa um botão clicável somente quando sua receita pode ser criada.
Pressione “Jogar” e crie uma jangada. Depois, “Verificar”.
Experimente você mesmo
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class CraftingBench : MonoBehaviour
{
[SerializeField] private Inventory inventory;
[SerializeField] private Button[] recipeButtons;
[SerializeField] private Button woodButton;
[SerializeField] private Button stoneButton;
[SerializeField] private TMP_Text inventoryText;
void OnEnable()
{
inventory.Changed += Refresh;
}
void OnDisable()
{
inventory.Changed -= Refresh;
}
void Start()
{
woodButton.onClick.AddListener(() => inventory.Add("Wood", 1));
stoneButton.onClick.AddListener(() => inventory.Add("Stone", 1));
// Receitas: o botão da receita i cria a receita i
Refresh();
}
void Refresh()
{
// Receitas: um botão de receita só pode ser clicado enquanto sua receita puder ser criada
inventoryText.text = "Inventory: " + inventory.Describe();
}
}
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