مراجعة: الشراء من المتجر
جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 29 من 64.
نقل هذا الفصل البيانات إلى أصول تتشاركها كائنات كثيرة. وعناصر المتجر من هذه الأصول، لذا فإن ما يشتريه اللاعب ينتمي إلى Shop، وليس إليها أبدًا.
التحدي
سهلاجعل مفتاح المسافة يشتري العنصر المحدد، مع إبقاء الأصول كما هي.
- احتفظ بالعناصر المشتراة في
List<ItemData> ownedفي المتجر. - عند الضغط على مفتاح المسافة، يسجّل العنصر الذي تملكه
Already owned: Iron Sword؛ أما العنصر الذي يكلف أكثر منgoldفيسجّلNot enough gold for Iron Sword. - وإلا، اطرح السعر من
gold، وأضف العنصر إلىowned، وسجّلBought Iron Sword، ثم حدّث النصوص.
اضغط «العب» واشترِ القوس الطويل. ثم اضغط «تحقق».
جرّب بنفسك
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: اشترِ العنصر المحدد
}
void Show()
{
ItemData item = database.items[index];
itemText.text = item.itemName + ": " + item.price + " gold";
goldText.text = "Gold: " + gold;
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس هندسة الألعاب في Unity
1المكوّنات، لا التسلسلات الهرمية
مكوّنات صغيرةنص برمجي أساسي للعدومكوّنات مجرّدةالمكوّنات تعمل معًامراجعة: برج معياريمراجعة: مدفع مزدوج4البيانات المُسلسلة
الأصناف القابلة للتسلسلالقوائم في Inspectorالتعدادات في Inspectorمراجعة: جدول الغنائممراجعة: اختيار الغنائم عشوائيًا2الواجهات في Unity
IDamageableالواجهات وTryGetComponentGetComponentsمراجعة: مفتاح التفاعلمراجعة: أقرب عنصر ضمن النطاق5ScriptableObjects
أصول البياناتإحصاءات الأسلحةالإعدادات المشتركةأنقذ الرياحالموجات كبياناتمراجعة: قاعدة بيانات العناصرمراجعة: الشراء من المتجرتدرّب بنفسك: Playground لـ Unity