「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;
}
}
