Ulasan: database Item
Termasuk bagian Arsitektur Game di Unity dalam perjalanan Unity di Coddy. Pelajaran 23 dari 50.
Tantangan
SedangToko pandai besi menjual barang dari database item yang akan digunakan bersama oleh setiap toko dalam game. Tulis dua jenis aset dan Shop:
ItemData(di ItemData.cs): sebuah ScriptableObject dengan entri menu Create dan field publikitemName(sebuah string) danprice(sebuah int).ItemDatabase(di ItemDatabase.cs): sebuah ScriptableObject dengan entri menu Create dan satu field publik,items, berupa list ItemData.Shopmemiliki field publikdatabasebertipe ItemDatabase.itemTextmenampilkan item yang dipilih sebagaiIron Sword: 30 gold, dimulai dari item pertama, dangoldTextmenampilkan jumlah gold sebagaiGold: 50.- Panah kanan memilih item berikutnya, lalu kembali ke item pertama setelah item terakhir. Panah kiri bergerak ke arah sebaliknya, dari item pertama ke item terakhir.
- Spasi membeli item yang dipilih. Jika pemain sudah membeli suatu item, catat
Already owned: Iron Sword. Jika harga item melebihi jumlah gold, catatNot enough gold for Iron Sword. Jika tidak, jumlah gold berkurang sebesar harganya, item menjadi milik pemain, teks diperbarui, dan Console menampilkanBought Iron Sword. - Simpan barang yang telah dibeli di Shop. Aset tetap seperti semula: database digunakan bersama, dan di Editor, perubahan pada aset tetap ada setelah mode Play berakhir.
Proyek ini memiliki empat aset ItemData (Iron Sword 30, Oak Shield 20, Healing Potion 10, Long Bow 45), sebuah aset Database yang mencantumkan semuanya dalam urutan tersebut, dan Inspector menempatkan Database di field database milik Shop. Tekan Play, berbelanja, lalu tekan Check.
Coba sendiri
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;
public class Shop : MonoBehaviour
{
public TMP_Text itemText;
public TMP_Text goldText;
public int gold = 50;
// Field database, navigasi dengan tombol panah, dan pembelian dengan Space diletakkan di sini
}
Semua pelajaran di Arsitektur Game di Unity
1Komponen, Bukan Hierarki
Komponen KecilSkrip Dasar MusuhKomponen AbstrakKomponen yang Bekerja SamaRingkasan: Turret Modular5ScriptableObjects
Aset DataStatistik SenjataPengaturan BersamaGelombang sebagai DataUlasan: database Item8Kode yang Dapat Digunakan Kembali
Extension methodSingleton GenerikHelper GenerikUlasan: FindNearest