diff --git a/src/Artemis.VisualScripting/Editor/Controls/VisualScriptPinPresenter.cs b/src/Artemis.VisualScripting/Editor/Controls/VisualScriptPinPresenter.cs index 75931bc08..60cfe6f38 100644 --- a/src/Artemis.VisualScripting/Editor/Controls/VisualScriptPinPresenter.cs +++ b/src/Artemis.VisualScripting/Editor/Controls/VisualScriptPinPresenter.cs @@ -177,8 +177,10 @@ namespace Artemis.VisualScripting.Editor.Controls args.Handled = true; } - private bool IsTypeCompatible(Type type) => ((Pin.Pin.Direction == PinDirection.Input) && (Pin.Pin.Type == typeof(object))) || (Pin.Pin.Type == type); - + private bool IsTypeCompatible(Type type) => (Pin.Pin.Type == type) + || ((Pin.Pin.Direction == PinDirection.Input) && (Pin.Pin.Type == typeof(object))) + || ((Pin.Pin.Direction == PinDirection.Output) && (type == typeof(object))); + #endregion } } diff --git a/src/Artemis.VisualScripting/Internal/IsConnectingPin.cs b/src/Artemis.VisualScripting/Internal/IsConnectingPin.cs index c5006d09b..900d7bbaf 100644 --- a/src/Artemis.VisualScripting/Internal/IsConnectingPin.cs +++ b/src/Artemis.VisualScripting/Internal/IsConnectingPin.cs @@ -8,17 +8,18 @@ namespace Artemis.VisualScripting.Internal #region Properties & Fields public override PinDirection Direction { get; } - public override Type Type { get; } = typeof(object); + public override Type Type { get; } public override object PinValue => null; #endregion #region Constructors - public IsConnectingPin(PinDirection direction) + public IsConnectingPin(PinDirection direction, Type type) : base(null, null) { this.Direction = direction; + this.Type = type; } #endregion