Menu
CoddyTech

Powtórka: sloty zapisu

Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 27 z 50.

challenge icon

Wyzwanie

Średni

Gra farmerska ma trzy miejsca zapisu, każde we własnym pliku: slot1.json, slot2.json i slot3.json w Application.persistentDataPath. Napisz SlotSave i SlotMenu:

  • SlotSave (w pliku SlotSave.cs) to klasa [System.Serializable] z publicznymi polami day i gold. Nowa farma zaczyna grę w dniu 1 z 20 sztukami złota, a zapis ze starszej wersji, w którym brakuje wartości, otrzymuje tę samą wartość początkową.
  • Po uruchomieniu gry menu wczytuje każde miejsce, dla którego istnieje plik. Wybrane jest miejsce 1; strzałka w dół wybiera następne miejsce, a strzałka w górę poprzednie, z ograniczeniem do miejsca 3 i miejsca 1.
  • Trzy elementy slotTexts pokazują każde miejsce jako Slot 2: Day 4, 65 gold lub Slot 2: empty, a wiersz wybranego miejsca zaczyna się od > , tak jak w > Slot 1: empty.
  • Spacja w pustym miejscu rozpoczyna tam nową farmę. Spacja w używanym miejscu rozgrywa kolejny dzień: dzień zwiększa się o 1, a ilość złota o 15. W obu przypadkach miejsce zostaje zapisane do pliku.
  • Przycisk Delete wywołuje DeleteSelected(), która usuwa plik wybranego miejsca i opróżnia to miejsce.

Naciśnij Play, rozpocznij jedną lub dwie farmy i rozegraj kilka dni, a następnie naciśnij Stop i ponownie Play. Potem naciśnij Check.

Spróbuj swoich sił

using System.IO;
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;

public class SlotMenu : MonoBehaviour
{
    public TMP_Text[] slotTexts;

    // Przycisk Delete wywołuje tę metodę
    public void DeleteSelected()
    {
    }
}

Wszystkie lekcje w sekcji Architektura gier w Unity