MonoBehaviourを継承したクラスのFlexibleField
Posted: 2018/06/20 13:58
unity 2018.1.0 f2
Arbor3.1.2
MonoBehaviourを継承したクラスのFlexibleFieldを使用すると警告が出力されます。
こういった使い方は問題ありますでしょうか?
You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all
UnityEngine.MonoBehaviour:.ctor()
Test:.ctor()
System.Activator:CreateInstance()
Arbor.FlexibleField`1:.ctor() (at Assets/Plugins/Arbor/Internal/Scripts/FlexibleField.cs:42)
FlexibleTest:.ctor()
手順
①下記のコードを作成
②ArborFSMをもつGameObjectを作成
③ステートを作成してTestStateBehaviourScriptの挙動を追加する
④UnityEditorを再生する
【TestVariable.cs】
【TestStateBehaviourScript.cs】
Arbor3.1.2
MonoBehaviourを継承したクラスのFlexibleFieldを使用すると警告が出力されます。
こういった使い方は問題ありますでしょうか?
You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all
UnityEngine.MonoBehaviour:.ctor()
Test:.ctor()
System.Activator:CreateInstance()
Arbor.FlexibleField`1:.ctor() (at Assets/Plugins/Arbor/Internal/Scripts/FlexibleField.cs:42)
FlexibleTest:.ctor()
手順
①下記のコードを作成
②ArborFSMをもつGameObjectを作成
③ステートを作成してTestStateBehaviourScriptの挙動を追加する
④UnityEditorを再生する
【TestVariable.cs】
Code: Select all
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Arbor;
[System.Serializable]
public class Test : MonoBehaviour
{
// Declare Serialize Fields
}
[System.Serializable]
public class FlexibleTest : FlexibleField<Test>
{
}
Code: Select all
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Arbor;
[AddComponentMenu("")]
public class TestStateBehaviourScript : StateBehaviour {
public FlexibleTest test;
}