Menu
CoddyTech

Podsumowanie: sloty zapisu

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

challenge icon

Wyzwanie

Średni

Wypełnij sloty zapisu; PathFor(i) i Show() są gotowe.

  1. W SlotSave rozpocznij farmę z wartościami day = 1 i gold = 20.
  2. W Start() wczytaj do slots[i] każdy slot, którego plik istnieje.
  3. Spacja umieszcza new SlotSave() w pustym, wybranym slocie albo rozgrywa dzień: day +1, gold +15. Zapisz go, a następnie wywołaj Show().

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

Poćwicz samodzielnie: Edytor online Unity