Przepisy rzemieślnicze
Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 63 z 64.
Wyzwanie
TrudnyDodaj przepisy do CraftingBench.
- Dodaj serializowalne
Ingredient(publiczneitem,amount) iRecipe(publiczneresult,List<Ingredient> needs) oraz publiczneList<Recipe> recipes. - W
StartrecipeButtons[i]wywołujeCraft(i). public void Craft(int index): jeśli masz wszystkie potrzebne składniki, usuń je, dodaj jeden wynik i zapisz w loguCrafted Axe.Refreshsprawia, że przycisk jest aktywny tylko wtedy, gdy można wytworzyć jego przepis.
Naciśnij „Graj” i wytwórz tratwę. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
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));
// Przepisy: przycisk przepisu i wytwarza przedmiot według przepisu i
Refresh();
}
void Refresh()
{
// Przepisy: przycisk przepisu można kliknąć tylko wtedy, gdy można wytworzyć przedmiot według tego przepisu
inventoryText.text = "Inventory: " + inventory.Describe();
}
}
Wszystkie lekcje w sekcji Architektura gier w Unity
1Komponenty, nie hierarchie
Małe komponentyBazowy skrypt przeciwnikaKomponenty abstrakcyjneWspółpracujące komponentyPowtórka: modułowa wieżyczkaPowtórka: podwójne działo4Dane serializowane
Klasy serializowalneListy w InspectorzeEnumy w InspectorzePodsumowanie: tabela łupówPodsumowanie: losowanie łupów2Interfejsy w Unity
IDamageableInterfejsy i TryGetComponentGetComponentsPowtórka: klawisz interakcjiPowtórka: najbliższy w zasięgu5ScriptableObjects
Zasoby danychStatystyki broniWspółdzielone ustawieniaOcal wiatrFale jako danePowtórka: Baza przedmiotówPowtórka: Kupowanie w sklepie8Kod wielokrotnego użytku
Metody rozszerzająceGeneryczny singletonGeneryczne metody pomocniczePodsumowanie: FindNearestPoćwicz samodzielnie: Edytor online Unity