diff --git a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeScriptView.axaml b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeScriptView.axaml index a2f6256f3..6c49d2018 100644 --- a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeScriptView.axaml +++ b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeScriptView.axaml @@ -16,6 +16,7 @@ + RaiseAndSetIfChanged(ref _dragViewModel, value); } + public void DeleteSelectedNodes() + { + List toRemove = NodeViewModels.Where(vm => vm.IsSelected && !vm.Node.IsDefaultNode && !vm.Node.IsExitNode).ToList(); + if (!toRemove.Any()) + return; + + using (_nodeEditorService.CreateCommandScope(NodeScript, "Delete nodes")) + { + foreach (NodeViewModel node in toRemove) + _nodeEditorService.ExecuteCommand(NodeScript, new DeleteNode(NodeScript, node.Node)); + } + } + public void UpdateNodeSelection(List nodes, bool expand, bool invert) { _initialNodeSelection ??= NodeViewModels.Where(vm => vm.IsSelected).ToList(); diff --git a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml index d7b1fb86b..1d58b8175 100644 --- a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml +++ b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml @@ -41,7 +41,7 @@ VerticalAlignment="Top" ColumnDefinitions="*,Auto"> @@ -57,7 +57,7 @@ - + diff --git a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml.cs b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml.cs index 6e0322bde..66f1804f3 100644 --- a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml.cs +++ b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using Avalonia; using Avalonia.Controls; -using Avalonia.Controls.PanAndZoom; using Avalonia.Input; using Avalonia.Markup.Xaml; using Avalonia.ReactiveUI; diff --git a/src/Avalonia/Artemis.UI/Screens/VisualScripting/Pins/InputPinCollectionView.axaml b/src/Avalonia/Artemis.UI/Screens/VisualScripting/Pins/InputPinCollectionView.axaml index 2e313b667..8a53266dc 100644 --- a/src/Avalonia/Artemis.UI/Screens/VisualScripting/Pins/InputPinCollectionView.axaml +++ b/src/Avalonia/Artemis.UI/Screens/VisualScripting/Pins/InputPinCollectionView.axaml @@ -8,7 +8,7 @@ x:Class="Artemis.UI.Screens.VisualScripting.Pins.InputPinCollectionView" x:DataType="pins:PinCollectionViewModel"> -