facebook twitter hatena line email

「Unity/ScriptableObject」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ScriptableObjectの作成方法)
(使い方)
行35: 行35:
 
         Debug.Log(testData.count);
 
         Debug.Log(testData.count);
 
         Debug.Log(testData.msg);
 
         Debug.Log(testData.msg);
 +
    }
 +
}
 +
</pre>
 +
 +
TestData.cs
 +
<pre>
 +
using UnityEngine;
 +
public class TestData : ScriptableObject
 +
{
 +
    public int count;
 +
    public string msg;
 +
    public virtual string GetMessage()
 +
    {
 +
        return null;
 
     }
 
     }
 
}
 
}
 
</pre>
 
</pre>

2021年6月23日 (水) 18:48時点における版

ScriptableObjectとは

.assetのファイル

ScriptableObjectの作成方法

以下Editorを使って作る

using UnityEditor;

public class CreateExampleAsset : EditorWindow
{
    [MenuItem("Example/Create ExampleAsset")]
    public static void Start()
    {
        var exampleAsset = CreateInstance<TestData>();

        AssetDatabase.CreateAsset(exampleAsset, "Assets/Resources/ExampleAsset.asset");
        AssetDatabase.Refresh();
    }
}

メニューのExample/Create ExampleAssetを選択すると Resources/ExampleAsset.assetが作成される。

参考:http://49.233.81.186/scriptableobject.html

使い方

MainScene.cs

public class MainScene : MonoBehaviour
{
    public TestData testData;
    void Start()
    {
        testData = Resources.Load<TestData>("hoge");
        Debug.Log(testData.count);
        Debug.Log(testData.msg);
    }
}

TestData.cs

using UnityEngine;
public class TestData : ScriptableObject
{
    public int count;
    public string msg;
    public virtual string GetMessage()
    {
        return null;
    }
}