طاولة التصنيع
جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 62 من 64.
في لعبة بقاء، تحوّل طاولة التصنيع ما تجمعه إلى أشياء يمكنك استخدامها. يجمع زران الخشب والحجر، وتحول ثلاث وصفات هذه الموارد إلى المزيد: قطعتان من الخشب تصنعان لوحًا، ولوح وحجراوان يصنعان فأسًا، وأربعة ألواح تصنع طوفًا. لا يمكن الضغط على زر الوصفة إلا عندما تحتوي الحقيبة على كل ما تحتاج إليه الوصفة، ويستهلك التصنيع هذه الموارد. تُملأ بيانات الوصفات على الطاولة في Inspector، لذا لا تحتاج الوصفة الجديدة إلى أي كود جديد. يعلن المخزون عن كل تغيير لكل من يستمع، ويُحفظ بصيغة JSON في كل مرة يتغير فيها، لذا لن تفقد شيئًا عند الخروج من اللعبة.
يتناول درسان بناء ذلك. يكتب هذا الدرس Inventory على Backpack؛ وتأتي وصفات الطاولة في الدرس التالي.
التحدي
صعبالجزء 1: أكمل Inventory؛ أصبح التجميع جاهزًا.
- أضف
ItemStackقابلًا للتسلسل (معitemوcountعامّين) وInventoryData(معList<ItemStack> stacksعامّة). - أكمل
CountوAddوRemove(تُحذف المكدّسة عندما تصل إلى 0) وDescribe:Wood 3, Plank 1أوempty. - احفظ كل تغيير في
inventory.jsonضمنApplication.persistentDataPathوأطلق الحدثChanged؛ تحمّلهAwake.
اضغط «العب»، واجمع الموارد، ثم أعد اللعب: سيعود الخشب. ثم اضغط «تحقق».
جرّب بنفسك
using System;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
// يوضع ItemStack وInventoryData هنا
public class Inventory : MonoBehaviour
{
public event Action Changed;
void Awake()
{
// حمّل inventory.json إذا كان موجودًا
}
public int Count(string item)
{
return 0;
}
public void Add(string item, int amount)
{
}
public void Remove(string item, int amount)
{
}
public string Describe()
{
return "empty";
}
}
جميع دروس هندسة الألعاب في Unity
1المكوّنات، لا التسلسلات الهرمية
مكوّنات صغيرةنص برمجي أساسي للعدومكوّنات مجرّدةالمكوّنات تعمل معًامراجعة: برج معياريمراجعة: مدفع مزدوج4البيانات المُسلسلة
الأصناف القابلة للتسلسلالقوائم في Inspectorالتعدادات في Inspectorمراجعة: جدول الغنائممراجعة: اختيار الغنائم عشوائيًا2الواجهات في Unity
IDamageableالواجهات وTryGetComponentGetComponentsمراجعة: مفتاح التفاعلمراجعة: أقرب عنصر ضمن النطاقتدرّب بنفسك: Playground لـ Unity