Rückblick: Speicherplätze
Teil des Abschnitts Spielarchitektur in Unity der Unity-Journey von Coddy. Lektion 33 von 64.
Aufgabe
MittelFülle die Speicherplätze aus; PathFor(i) und Show() sind bereit.
- Starte in
SlotSaveeinen Bauernhof mitday = 1undgold = 20. - Lade in
Start()jeden Speicherplatz, dessen Datei existiert, inslots[i]. - Leertaste legt ein
new SlotSave()in einem leeren ausgewählten Speicherplatz an oder lässt einen Tag vergehen:day+1,gold+15. Speichere ihn und rufe dannShow()auf.
Drücke „Spielen“ und die Leertaste: > Slot 1: Day 1, 20 gold. Drücke dann „Prüfen“.
Probier es selbst
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()
{
// Lade jeden Slot, für den eine Datei vorhanden ist
Show();
}
void Update()
{
// Leertaste: Starte eine Farm im ausgewählten Slot oder spiele dort einen Tag und speichere anschließend
}
// Die Schaltfläche Delete ruft diese Methode auf
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;
}
}
}
Alle Lektionen in Spielarchitektur in Unity
1Komponenten statt Hierarchien
Kleine KomponentenEin Basis-GegnerskriptAbstrakte KomponentenZusammenwirkende KomponentenRückblick: Modulares GeschützRückblick: Zwillingskanone4Serialisierte Daten
Serialisierbare KlassenListen im InspectorEnums im InspectorRückblick: Loot-TabelleRückblick: Beute auswürfeln2Schnittstellen in Unity
IDamageableSchnittstellen und TryGetComponentGetComponentsZusammenfassung: InteraktionstasteZusammenfassung: Nächstes in Reichweite5ScriptableObjects
Daten-AssetsWaffenwerteGemeinsame EinstellungenDen Wind speichernWellen als DatenRückblick: Item-DatenbankRückblick: Im Shop einkaufen8Wiederverwendbarer Code
ErweiterungsmethodenEin generisches SingletonGenerische HilfsmethodenRückblick: FindNearest3Ereignisse
C#-Ereignisse in UnityIn OnEnable abonnierenUnityEvent-FelderEreignisse steuern die UIRückblick: Erfolgs-PopupRückblick: Popup-Timer6Speichern mit JSON
JsonUtilityDas Spiel speichernLaden und StandardwerteRückblick: SpeicherplätzeSpeicherplatz auswählen und löschenÜbe selbstständig: Unity-Playground