「Unity/ScriptableObject」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→使い方) |
|||
| 行14: | 行14: | ||
var exampleAsset = CreateInstance<TestData>(); | var exampleAsset = CreateInstance<TestData>(); | ||
| − | AssetDatabase.CreateAsset(exampleAsset, "Assets/Resources/ | + | AssetDatabase.CreateAsset(exampleAsset, "Assets/Resources/ExampleSetting.asset"); |
AssetDatabase.Refresh(); | AssetDatabase.Refresh(); | ||
} | } | ||
| 行32: | 行32: | ||
void Start() | void Start() | ||
{ | { | ||
| − | testData = Resources.Load<TestData>(" | + | testData = Resources.Load<TestData>("ExampleSetting"); |
Debug.Log(testData.count); | Debug.Log(testData.count); | ||
Debug.Log(testData.msg); | Debug.Log(testData.msg); | ||
2021年6月23日 (水) 18:53時点における版
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/ExampleSetting.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>("ExampleSetting");
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;
}
}
