#ScriptableObjectを使ってみるその2
##作ったデータを管理する
前回はItemというプログラムを作って、unityでたくさんアイテムを作れるようにしました。
では、そのたくさん作ったデータはどのように管理するのが効率が良いのでしょうか?
###データベースを作る
今回は、そのたくさん作ったアイテムをまとめあげるデータベースを作ります。
データベースとは、たくさんのデータが入っている棚のようなものだと思ってください。
次のプログラムを作ります。
今回もScriptableObjectなので、どのオブジェクトにつけなくても平気です。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName ="ItemDataBase",menuName ="CreateItemDataBase")]
public class ItemDataBase : ScriptableObject
{
[SerializeField]
private List<Item> itemlists;
public List<Item> GetItemLists(){
return itemlists;
}
}
今回も一行目に注目してください。
public class ItemDataBase : ScriptableObject
MonoBehaviour
をScriptableObject
に書き換えられましたか?
前回にも出てきた↓これはなんでしょうか。前回はスルーしていました。
[CreateAssetMenu(fileName ="ItemDataBase",menuName ="CreateItemDataBase")]
これは、Unity上のProjectやAssetメニュー欄から、新しくItemDataBaseを作れるようにしたものです。
実際にUnityでprojectの+を押してみましょう。
CreateItemDataBase
が出ていれば成功です。
選択するとAssets内にItemDataBaseが現れます。
Itemlists
の欄に作ったアイテムの数を入れてみましょう。
欄が増えるはずです。そこに実際に前に作ったアイテムを入れてみましょう。↓こんな感じ
プログラムの説明をします。
[SerializeField]
private List<Item> itemlists;
これでUnity上で数字を入力することができるようになり、数字に応じて欄が増えるようになります。
そこに、Itemが入れられるようになります。
その下の関数はまた今度。
次回は実際にコンソールに表示できるようにしてみます。