Menu
CoddyTech

Ôn tập: Mua hàng từ cửa hàng

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 29 trên 64.

Chương này đã chuyển dữ liệu vào các tài nguyên được nhiều đối tượng dùng chung. Vật phẩm trong cửa hàng cũng là tài nguyên như vậy, nên những gì người chơi mua thuộc về cửa hàng, không phải vật phẩm.

challenge icon

Thử thách

Dễ

Nhấn Space để mua vật phẩm đã chọn mà không thay đổi các asset.

  1. Lưu các vật phẩm đã mua trong List<ItemData> owned ở Shop.
  2. Khi nhấn Space, nếu đã sở hữu vật phẩm thì ghi nhật ký Already owned: Iron Sword; nếu vật phẩm có giá cao hơn gold thì ghi nhật ký Not enough gold for Iron Sword.
  3. Nếu không, trừ giá khỏi gold, thêm vật phẩm vào owned, ghi nhật ký Bought Iron Sword và cập nhật các dòng chữ.

Nhấn Chơi rồi mua Long Bow. Sau đó nhấn Kiểm tra.

Tự làm thử

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;

public class Shop : MonoBehaviour
{
    public ItemDatabase database;
    public TMP_Text itemText;
    public TMP_Text goldText;
    public int gold = 50;
    private int index;

    void Start()
    {
        Show();
    }

    void Update()
    {
        if (Keyboard.current.rightArrowKey.wasPressedThisFrame)
        {
            index = (index + 1) % database.items.Count;
            Show();
        }
        if (Keyboard.current.leftArrowKey.wasPressedThisFrame)
        {
            index = (index - 1 + database.items.Count) % database.items.Count;
            Show();
        }
        // Space: mua vật phẩm đã chọn
    }

    void Show()
    {
        ItemData item = database.items[index];
        itemText.text = item.itemName + ": " + item.price + " gold";
        goldText.text = "Gold: " + gold;
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

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

Tự luyện tập: Playground Unity