Menu
CoddyTech

طاولة التصنيع

جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 62 من 64.

في لعبة بقاء، تحوّل طاولة التصنيع ما تجمعه إلى أشياء يمكنك استخدامها. يجمع زران الخشب والحجر، وتحول ثلاث وصفات هذه الموارد إلى المزيد: قطعتان من الخشب تصنعان لوحًا، ولوح وحجراوان يصنعان فأسًا، وأربعة ألواح تصنع طوفًا. لا يمكن الضغط على زر الوصفة إلا عندما تحتوي الحقيبة على كل ما تحتاج إليه الوصفة، ويستهلك التصنيع هذه الموارد. تُملأ بيانات الوصفات على الطاولة في Inspector، لذا لا تحتاج الوصفة الجديدة إلى أي كود جديد. يعلن المخزون عن كل تغيير لكل من يستمع، ويُحفظ بصيغة JSON في كل مرة يتغير فيها، لذا لن تفقد شيئًا عند الخروج من اللعبة.

يتناول درسان بناء ذلك. يكتب هذا الدرس Inventory على Backpack؛ وتأتي وصفات الطاولة في الدرس التالي.

challenge icon

التحدي

صعب

الجزء 1: أكمل Inventory؛ أصبح التجميع جاهزًا.

  1. أضف ItemStack قابلًا للتسلسل (مع item وcount عامّين) وInventoryData (مع List<ItemStack> stacks عامّة).
  2. أكمل Count وAdd وRemove (تُحذف المكدّسة عندما تصل إلى 0) وDescribe: Wood 3, Plank 1 أو empty.
  3. احفظ كل تغيير في 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

تدرّب بنفسك: Playground لـ Unity