Podsumowanie: sloty zapisu
Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 33 z 64.
Wyzwanie
ŚredniWypełnij sloty zapisu; PathFor(i) i Show() są gotowe.
- W
SlotSaverozpocznij farmę z wartościamiday = 1igold = 20. - W
Start()wczytaj doslots[i]każdy slot, którego plik istnieje. - Spacja umieszcza
new SlotSave()w pustym, wybranym slocie albo rozgrywa dzień:day+1,gold+15. Zapisz go, a następnie wywołajShow().
Naciśnij „Graj” i spację: > Slot 1: Day 1, 20 gold. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using System.IO;
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;
public class SlotMenu : MonoBehaviour
{
public TMP_Text[] slotTexts;
private SlotSave[] slots = new SlotSave[3];
private int selected;
void Start()
{
// Wczytaj każdy slot, dla którego istnieje plik
Show();
}
void Update()
{
// Space: załóż farmę w wybranym slocie albo rozegraj tam dzień, a następnie zapisz stan gry
}
// Przycisk Delete wywołuje tę metodę
public void DeleteSelected()
{
}
string PathFor(int index)
{
return Path.Combine(Application.persistentDataPath, "slot" + (index + 1) + ".json");
}
void Show()
{
for (int i = 0; i < slots.Length; i++)
{
string line = "Slot " + (i + 1) + ": ";
if (slots[i] == null)
{
line += "empty";
}
else
{
line += "Day " + slots[i].day + ", " + slots[i].gold + " gold";
}
if (i == selected)
{
line = "> " + line;
}
slotTexts[i].text = line;
}
}
}
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: FindNearest3Zdarzenia
Zdarzenia C# w UnitySubskrybuj w OnEnablePola UnityEventZdarzenia sterują UIPodsumowanie: popup osiągnięciaPodsumowanie: timer popupu6Zapisywanie za pomocą JSON
JsonUtilityZapisz gręWczytywanie i wartości domyślnePodsumowanie: sloty zapisuWybierz i usuń slotPoćwicz samodzielnie: Edytor online Unity