1
0
mirror of https://github.com/Siccity/xNode.git synced 2025-12-20 01:06:01 +08:00

Fix for AutoConnect method. (#255)

Prevents incompatible connections between node ports when creating a new node on connection drag.
This commit is contained in:
Dan Erhardt 2020-04-26 12:44:46 -03:00 committed by GitHub
parent d9d90f0f7b
commit a1cf78d3fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -535,8 +535,8 @@ namespace XNodeEditor {
XNode.NodePort inputPort = node.Ports.FirstOrDefault(x => x.IsInput && x.ValueType == autoConnectOutput.ValueType); XNode.NodePort inputPort = node.Ports.FirstOrDefault(x => x.IsInput && x.ValueType == autoConnectOutput.ValueType);
// Fallback to input port // Fallback to input port
if (inputPort == null) inputPort = node.Ports.FirstOrDefault(x => x.IsInput); if (inputPort == null) inputPort = node.Ports.FirstOrDefault(x => x.IsInput);
// Autoconnect // Autoconnect if connection is compatible
if (inputPort != null) autoConnectOutput.Connect(inputPort); if (inputPort != null && inputPort.CanConnectTo(autoConnectOutput)) autoConnectOutput.Connect(inputPort);
// Save changes // Save changes
EditorUtility.SetDirty(graph); EditorUtility.SetDirty(graph);
@ -544,4 +544,4 @@ namespace XNodeEditor {
autoConnectOutput = null; autoConnectOutput = null;
} }
} }
} }