Skip to content

Commit e7ac55d

Browse files
committed
Added propertyFields for settings
1 parent 1adffe6 commit e7ac55d

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

Assets/com.alelievr.NodeGraphProcessor/Editor/Views/BaseNodeView.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -826,15 +826,19 @@ internal void SyncSerializedPropertyPathes()
826826
}
827827
}
828828

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+
829835
protected VisualElement AddControlField(FieldInfo field, string label = null, bool showInputDrawer = false, Action valueChangedCallback = null)
830836
{
831837
if (field == null)
832838
return null;
833839

834840
// 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);
838842
element.Bind(owner.serializedGraph);
839843

840844
// Disallow picking scene objects when the graph is not linked to a scene
@@ -903,14 +907,10 @@ protected void AddSettingField(FieldInfo field)
903907

904908
var label = field.GetCustomAttribute<SettingAttribute>().name;
905909

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);
912912

913-
if(element != null)
913+
if (element != null)
914914
{
915915
settingsContainer.Add(element);
916916
element.name = field.Name;

0 commit comments

Comments
 (0)