Tekrar: Dükkândan Satın Al
Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 29 / 64.
Bu bölümde veriler, birçok nesnenin paylaştığı varlıklara taşındı. Dükkânın eşyaları da bu tür varlıklardır; bu nedenle oyuncunun satın aldığı şeyler onlara değil, Dükkân'a ait olmalıdır.
Görev
KolaySeçili eşyayı satın almak için Space tuşunu kullan; varlıklara dokunma.
- Satın alınan eşyaları Shop içindeki
List<ItemData> ownediçinde tut. - Space tuşuna basıldığında, sahip olunan bir eşya için
Already owned: Iron Swordgünlüğe kaydedilir; fiyatıgolddeğerinden yüksek olan bir eşya içinNot enough gold for Iron Swordgünlüğe kaydedilir. - Aksi takdirde fiyatı
golddeğerinden düş, eşyayıownedlistesine ekle,Bought Iron Swordmesajını günlüğe kaydet ve metinleri güncelle.
“Oyna” düğmesine bas ve Long Bow'u satın al. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;
public class Shop : MonoBehaviour
{
public ItemDatabase database;
public TMP_Text itemText;
public TMP_Text goldText;
public int gold = 50;
private int index;
void Start()
{
Show();
}
void Update()
{
if (Keyboard.current.rightArrowKey.wasPressedThisFrame)
{
index = (index + 1) % database.items.Count;
Show();
}
if (Keyboard.current.leftArrowKey.wasPressedThisFrame)
{
index = (index - 1 + database.items.Count) % database.items.Count;
Show();
}
// Space: seçili öğeyi satın al
}
void Show()
{
ItemData item = database.items[index];
itemText.text = item.itemName + ": " + item.price + " gold";
goldText.text = "Gold: " + gold;
}
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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