From 1e67c1c567cd63e5005e56a21e581c75f5e2e147 Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Fri, 16 Jul 2021 16:17:15 +0200 Subject: [PATCH] Visual Scripting: Improved cable creation --- .../Editor/Controls/VisualScriptPinPresenter.cs | 6 ++++-- src/Artemis.VisualScripting/Internal/IsConnectingPin.cs | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) 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