Menu
CoddyTech

Özet: Kayıt Yuvaları

Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 33 / 64.

challenge icon

Görev

Orta

Kayıt yuvalarını doldur; PathFor(i) ve Show() hazır.

  1. SlotSave içinde, bir çiftliği day = 1 ve gold = 20 değerleriyle başlat.
  2. Start() içinde, dosyası mevcut olan her yuvayı slots[i] içine yükle.
  3. Boşluk tuşu, boş olan seçili yuvaya new SlotSave() koyar ya da bir günü ilerletir: day +1, gold +15. Kaydet, ardından Show() çağır.

“Oyna” düğmesine ve Boşluk tuşuna bas: > Slot 1: Day 1, 20 gold. Ardından “Kontrol et” düğmesine bas.

Kendin dene

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()
    {
        // Dosyası olan tüm slotları yükle
        Show();
    }

    void Update()
    {
        // Space: Seçili slotta bir çiftlik kur veya orada bir gün oyna, ardından kaydet
    }

    // Delete düğmesi bunu çağırır
    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;
        }
    }
}

Unity'de Oyun Mimarisi bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground