@@ -826,15 +826,19 @@ internal void SyncSerializedPropertyPathes()
826
826
}
827
827
}
828
828
829
+ protected SerializedProperty FindSerializedProperty ( string fieldName )
830
+ {
831
+ int i = owner . graph . nodes . FindIndex ( n => n == nodeTarget ) ;
832
+ return owner . serializedGraph . FindProperty ( "nodes" ) . GetArrayElementAtIndex ( i ) . FindPropertyRelative ( fieldName ) ;
833
+ }
834
+
829
835
protected VisualElement AddControlField ( FieldInfo field , string label = null , bool showInputDrawer = false , Action valueChangedCallback = null )
830
836
{
831
837
if ( field == null )
832
838
return null ;
833
839
834
840
// This doesn't work
835
- int i = owner . graph . nodes . FindIndex ( n => n == nodeTarget ) ;
836
- var prop = owner . serializedGraph . FindProperty ( "nodes" ) . GetArrayElementAtIndex ( i ) . FindPropertyRelative ( field . Name ) ;
837
- var element = new PropertyField ( prop , showInputDrawer ? "" : label ) ;
841
+ var element = new PropertyField ( FindSerializedProperty ( field . Name ) , showInputDrawer ? "" : label ) ;
838
842
element . Bind ( owner . serializedGraph ) ;
839
843
840
844
// Disallow picking scene objects when the graph is not linked to a scene
@@ -903,14 +907,10 @@ protected void AddSettingField(FieldInfo field)
903
907
904
908
var label = field . GetCustomAttribute < SettingAttribute > ( ) . name ;
905
909
906
- // TODO: find the property path from the field
907
- // var element = new PropertyField();
908
- var element = FieldFactory . CreateField ( field . FieldType , field . GetValue ( nodeTarget ) , ( newValue ) => {
909
- owner . RegisterCompleteObjectUndo ( "Updated " + newValue ) ;
910
- field . SetValue ( nodeTarget , newValue ) ;
911
- } , label ) ;
910
+ var element = new PropertyField ( FindSerializedProperty ( field . Name ) ) ;
911
+ element . Bind ( owner . serializedGraph ) ;
912
912
913
- if ( element != null )
913
+ if ( element != null )
914
914
{
915
915
settingsContainer . Add ( element ) ;
916
916
element . name = field . Name ;
0 commit comments