Özet: Kayıt Yuvaları
Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 33 / 64.
Görev
OrtaKayıt yuvalarını doldur; PathFor(i) ve Show() hazır.
SlotSaveiçinde, bir çiftliğiday = 1vegold = 20değerleriyle başlat.Start()içinde, dosyası mevcut olan her yuvayıslots[i]içine yükle.- Boşluk tuşu, boş olan seçili yuvaya
new SlotSave()koyar ya da bir günü ilerletir:day+1,gold+15. Kaydet, ardındanShow()ç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
1Kalıtım Değil, Bileşenler
Küçük BileşenlerTemel Düşman Script'iSoyut BileşenlerBirlikte Çalışan BileşenlerTekrar: Modüler TaretTekrar: Çift Namlulu Top4Serileştirilmiş Veriler
Serileştirilebilir SınıflarInspector'da ListelerInspector'da Enum'larTekrar: Ganimet TablosuTekrar: Ganimeti At2Unity'de Arayüzler
IDamageableArayüzler ve TryGetComponentGetComponentsÖzet: Etkileşim TuşuÖzet: Erişim Mesafesindeki En Yakın5ScriptableObjects
Veri VarlıklarıSilah İstatistikleriOrtak AyarlarRüzgârı KaydetVeri Olarak DalgalarTekrar: Eşya VeritabanıTekrar: Dükkândan Satın Al8Yeniden Kullanılabilir Kod
Genişletme MetotlarıGeneric SingletonGeneric YardımcılarTekrar: FindNearestKendi başına pratik yap: Unity playground