Menu
CoddyTech

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.

challenge icon

Görev

Kolay

Seçili eşyayı satın almak için Space tuşunu kullan; varlıklara dokunma.

  1. Satın alınan eşyaları Shop içindeki List<ItemData> owned içinde tut.
  2. Space tuşuna basıldığında, sahip olunan bir eşya için Already owned: Iron Sword günlüğe kaydedilir; fiyatı gold değerinden yüksek olan bir eşya için Not enough gold for Iron Sword günlüğe kaydedilir.
  3. Aksi takdirde fiyatı gold değerinden düş, eşyayı owned listesine ekle, Bought Iron Sword mesajı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;
    }
}
quiz iconKendini test et

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

Kendi başına pratik yap: Unity playground