私が検査しているコンポーネントの子であるScriptableObjectのパブリックフィールドを表示するのに問題があります。私はこれを他の方法で簡単に行うことができますが、私はこのメソッドを他の変数のために使う必要があります。 (ReorderableLists)Unity:InspectorがScriptableObjectのフィールドを見つけることができません
私は問題を単純化しましたが、明らかに間違ったことをしていたかもしれませんが、間違っていることはわかりません。
コード+エラー: http://answers.unity3d.com/storage/temp/70243-error.png
class SomeComponent : MonoBehaviour{
public MyScriptable scriptable; //instantiated and saved as asset
}
[Serializable] class MyScriptable : ScriptableObject{
[SerializeField] public float value = 0.1f;
}
[CustomEditor(typeof(SomeComponent))] class SomeComponentEditor : Editor{
public override void OnInspectorGUI() {
if((target as SomeComponent).scriptable==null) (target as SomeComponent).scriptable = ScriptableObject.CreateInstance(typeof(MyScriptable)) as MyScriptable;
EditorGUILayout.PropertyField(serializedObject.FindProperty("scriptable"));
//shows the asset
EditorGUILayout.PropertyField(serializedObject.FindProperty("scriptable").FindPropertyRelative("value"));
//error
}
}