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