Merge pull request #1423 from ousttrue/fix/meta_PropertyField

meta の PropertyField に対するオブジェクト置き換えを有効にする
This commit is contained in:
ousttrue 2021-12-15 15:15:27 +09:00 committed by GitHub
commit 7f6bbe5332
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,11 +10,16 @@ namespace VRM
Editor m_Inspector;
SerializedProperty m_VRMMetaObjectProp;
private void OnDestroy()
void DestroyEditor()
{
UnityEditor.Editor.DestroyImmediate(m_Inspector);
}
private void OnDestroy()
{
DestroyEditor();
}
private void OnEnable()
{
m_target = target as VRMMeta;
@ -27,7 +32,17 @@ namespace VRM
public override void OnInspectorGUI()
{
serializedObject.Update();
var old = m_VRMMetaObjectProp.objectReferenceValue;
EditorGUILayout.PropertyField(m_VRMMetaObjectProp);
if (m_VRMMetaObjectProp.objectReferenceValue != old)
{
// updated
serializedObject.ApplyModifiedProperties();
DestroyEditor();
m_Inspector = Editor.CreateEditor(m_VRMMetaObjectProp.objectReferenceValue);
}
if (m_Inspector != null)
{
m_Inspector.OnInspectorGUI();