Menu
CoddyTech

Ôn tập: các ô lưu

Thuộc phần Kiến trúc trò chơi trong Unity trong hành trình Unity của Coddy. Bài học 33 trên 64.

challenge icon

Thử thách

Trung bình

Điền dữ liệu vào các ô lưu; PathFor(i) và Show() đã sẵn sàng.

  1. Trong SlotSave, khởi tạo nông trại với day = 1 và gold = 20.
  2. Trong Start(), tải từng ô có tệp tồn tại vào slots[i].
  3. Nhấn phím cách để tạo new SlotSave() trong ô đang chọn còn trống, hoặc chơi thêm một ngày: day +1, gold +15. Lưu lại, rồi gọi Show().

Nhấn Chơi rồi nhấn phím cách: > Slot 1: Day 1, 20 gold. Sau đó nhấn Kiểm tra.

Tự làm thử

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()
    {
        // Tải mọi ô lưu có tệp
        Show();
    }

    void Update()
    {
        // Space: bắt đầu một trang trại trong ô lưu đã chọn, hoặc chơi một ngày ở đó, rồi lưu lại
    }

    // Nút Delete gọi phương thức này
    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;
        }
    }
}

Tất cả bài học trong Kiến trúc trò chơi trong Unity

Tự luyện tập: Playground Unity