Menu
CoddyTech

مراجعة: خانات الحفظ

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

challenge icon

التحدي

متوسط

املأ خانات الحفظ؛ إن PathFor(i) وShow() جاهزتان.

  1. في SlotSave، ابدأ مزرعةً عند day = 1 وgold = 20.
  2. في Start()، حمّل كل خانة ملفها موجود إلى slots[i].
  3. يضع مفتاح المسافة new SlotSave() في الخانة المحددة الفارغة، أو يتقدم يومًا: day +1، وgold +15. احفظها، ثم استدعِ Show().

اضغط «العب» ومفتاح المسافة: > Slot 1: Day 1, 20 gold. ثم اضغط «تحقق».

جرّب بنفسك

using System.IO;
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;

public class SlotMenu : MonoBehaviour
{
    public TMP_Text[] slotTexts;
    private SlotSave[] slots = new SlotSave[3];
    private int selected;

    void Start()
    {
        // حمّل كل خانة لها ملف
        Show();
    }

    void Update()
    {
        // Space: ابدأ مزرعة في الخانة المحددة، أو العب يومًا فيها، ثم احفظها
    }

    // زر Delete يستدعي هذا
    public void DeleteSelected()
    {
    }

    string PathFor(int index)
    {
        return Path.Combine(Application.persistentDataPath, "slot" + (index + 1) + ".json");
    }

    void Show()
    {
        for (int i = 0; i < slots.Length; i++)
        {
            string line = "Slot " + (i + 1) + ": ";
            if (slots[i] == null)
            {
                line += "empty";
            }
            else
            {
                line += "Day " + slots[i].day + ", " + slots[i].gold + " gold";
            }
            if (i == selected)
            {
                line = "> " + line;
            }
            slotTexts[i].text = line;
        }
    }
}

جميع دروس هندسة الألعاب في Unity

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