(Unity6)アイテムのデータベースを作成する(スクリプタブル・オブジェクトの活用)

<サンプルコード>

1)アイテムステータス

using UnityEngine;
// ★追加
using System;

[Serializable]
public class ItemStatus
{
    public string ItemName;
    public Sprite ItemImage;
    public int ItemPrice;
}

2)アイテムデータベース

using UnityEngine;
// ★追加
using System.Collections.Generic;

[CreateAssetMenu]
public class ItemDatabase : ScriptableObject // ★変更
{
    public List<ItemStatus> ItemList;
}

3)データベースの設定


4)アイテムを表示するサンプルコード

using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class ItemManager : MonoBehaviour
{
    public ItemDatabase itemDatabase;
    public Image[] itemImages;
    public TextMeshProUGUI[] itemNameLabels;
    public TextMeshProUGUI[] itemPriceLabels;

    void Start()
    {
       for(int i = 0; i < 3; i++)
        {
            itemImages[i].sprite = itemDatabase.ItemList[i].ItemImage;
            itemNameLabels[i].text = itemDatabase.ItemList[i].ItemName;
            itemPriceLabels[i].text = " " + itemDatabase.ItemList[i].ItemPrice;
        }
    }
}

5)実行結果