回答編集履歴
1
余談追記
answer
CHANGED
@@ -22,4 +22,12 @@
|
|
22
22
|
**これは通常の参照型の変数と何ら変わりません。**
|
23
23
|
(`public GameObject enemyObj;`と同じようなものである、ということ)
|
24
24
|
|
25
|
-
なのでインスペクター上で設定せず、他スクリプトからの設定も無ければ、enemyDataはnullのままであり、ShowScriptableObjectDataメソッド内のDebug.Logはエラーになります。
|
25
|
+
なのでインスペクター上で設定せず、他スクリプトからの設定も無ければ、enemyDataはnullのままであり、ShowScriptableObjectDataメソッド内のDebug.Logはエラーになります。
|
26
|
+
|
27
|
+
---
|
28
|
+
|
29
|
+
とても余談ですが、MonoBehaviourを継承したクラスもnew出来ません。
|
30
|
+
「そのクラスが付与されているGameObjectが生成された瞬間」or「`AddComponent`メソッドによりGameObjectに付与された瞬間」にインスタンス化される為です。(内部的にはnewされていることに違いはありませんが、自分でnewしようとすると警告を出してくると思います)
|
31
|
+
Unity(のMonoBehaviour)はそういうもの、という認識でいいと思います。
|
32
|
+
|
33
|
+
これらの継承が無いクラスのインスタンスを作りたければnewする必要があります。
|