Menu
CoddyTech
flag Ar iconالعربيةdown icon

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

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

challenge icon

التحدي

متوسط

تحتوي لعبة زراعية على ثلاث خانات للحفظ، لكل منها ملفها الخاص: slot1.json وslot2.json وslot3.json في Application.persistentDataPath. اكتب SlotSave وSlotMenu:

  • SlotSave (في SlotSave.cs) فئة [System.Serializable] لها الحقلان العامان day وgold. تبدأ المزرعة الجديدة في اليوم 1 ومعها 20 قطعة ذهبية، والحفظ من إصدار أقدم يفتقر إلى قيمة يحصل على قيمة البداية نفسها.
  • عند بدء اللعبة، تحمّل القائمة كل خانة لها ملف. تكون الخانة 1 محددة؛ ويحدد السهم المتجه إلى الأسفل الخانة التالية، والسهم المتجه إلى الأعلى الخانة السابقة، مع التوقف عند الخانة 3 والخانة 1.
  • تعرض slotTexts الثلاثة كل خانة بصيغة Slot 2: Day 4, 65 gold أو Slot 2: empty، ويبدأ سطر الخانة المحددة بـ > ، مثل > Slot 1: empty.
  • يبدأ الضغط على مفتاح المسافة في خانة فارغة مزرعة جديدة فيها. أما الضغط عليه في خانة مستخدمة فيلعب يوماً: يزداد اليوم بمقدار 1 والذهب بمقدار 15. وفي كلتا الحالتين، تُحفظ الخانة في ملفها.
  • يستدعي زر Delete الدالة DeleteSelected()، التي تحذف ملف الخانة المحددة وتفرغها.

اضغط Play، وابدأ مزرعة أو اثنتين والعب بضعة أيام، ثم اضغط Stop وبعدها Play مرة أخرى. ثم اضغط Check.

جرّب بنفسك

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

public class SlotMenu : MonoBehaviour
{
    public TMP_Text[] slotTexts;

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

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