Tekrar: Eşya Veritabanı
Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 23 / 50.
Görev
OrtaDemircinin dükkânı, oyundaki tüm dükkânların paylaşacağı bir eşya veritabanından satış yapar. İki varlık türünü ve Shop'u yaz:
ItemData(ItemData.cs dosyasında): Create menü girdisi olan veitemName(bir string) ileprice(bir int) genel alanlarına sahip bir ScriptableObject.ItemDatabase(ItemDatabase.cs dosyasında): Create menü girdisi olan veitemsadlı, ItemData listesi olan tek bir genel alana sahip bir ScriptableObject.Shop, ItemDatabase türünde birdatabasegenel alanına sahip olur.itemText, ilk eşyayla başlayarak seçili eşyayıIron Sword: 30 goldbiçiminde gösterir;goldTextise altın miktarınıGold: 50biçiminde gösterir.- Sağ ok bir sonraki eşyayı seçer; son eşyadan sonra yeniden ilk eşyaya geçer. Sol ok ise ters yönde, ilk eşyadan son eşyaya geçer.
- Boşluk tuşu seçili eşyayı satın alır. Oyuncunun zaten satın aldığı bir eşya için günlükte
Already owned: Iron Swordmesajı gösterilir. Altın miktarından daha pahalı bir eşya içinNot enough gold for Iron Swordmesajı gösterilir. Aksi durumda altın miktarı eşyanın fiyatı kadar azalır, eşya sahip olunanlara eklenir, metinler güncellenir ve Konsol'daBought Iron Swordmesajı gösterilir. - Satın alınan eşyaları Shop içinde tut. Varlıklar olduğu gibi kalır: veritabanı paylaşılır ve Editor'da bir varlıkta yapılan değişiklik Play modundan sonra da korunur.
Projede dört ItemData varlığı (Iron Sword 30, Oak Shield 20, Healing Potion 10, Long Bow 45), bunları bu sırayla listeleyen bir Database varlığı vardır ve Inspector'da Database, Shop'un database alanına atanmıştır. Play'e bas, alışveriş yap, ardından Check'e bas.
Kendin dene
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;
public class Shop : MonoBehaviour
{
public TMP_Text itemText;
public TMP_Text goldText;
public int gold = 50;
// Veritabanı alanı, ok tuşlarıyla gezinme ve Space ile satın alma işlemi buraya gelecek
}
Unity'de Oyun Mimarisi bölümündeki tüm dersler
1Hiyerarşiler Değil, Bileşenler
Küçük BileşenlerTemel Bir Düşman BetiğiSoyut BileşenlerBirlikte Çalışan BileşenlerÖzet: Modüler Taret4Serileştirilmiş Veriler
Serileştirilebilir SınıflarInspector'da ListelerInspector'da Enum'larÖzet: Ganimet Tablosu7Durum Makineleri
Sınıflar Olarak DurumlarBir Durum MakinesiGeçişlerDüşmanların Yapay ZekâsıTekrar: Kapı Durumları10Proje: Arena Hayatta Kalma
KahramanDüşman Türleri5ScriptableObjects
Veri VarlıklarıSilah İstatistikleriPaylaşılan AyarlarVeri Olarak DalgalarTekrar: Eşya Veritabanı8Yeniden Kullanılabilir Kod
Genişletme MetotlarıGeneric SingletonGeneric YardımcılarTekrar: FindNearest