diff --git a/Source/ComboInputEditor/Private/Ed/AssetEditor_ComboActionGraph.cpp b/Source/ComboInputEditor/Private/Ed/AssetEditor_ComboActionGraph.cpp index 744688f..1be4292 100644 --- a/Source/ComboInputEditor/Private/Ed/AssetEditor_ComboActionGraph.cpp +++ b/Source/ComboInputEditor/Private/Ed/AssetEditor_ComboActionGraph.cpp @@ -2,28 +2,26 @@ #include "AssetEditor_ComboActionGraph.h" -#include "GraphEditorActions.h" -#include "Framework/Commands/GenericCommands.h" -#include "Kismet2/BlueprintEditorUtils.h" -#include "HAL/PlatformApplicationMisc.h" -#include "EdGraphUtilities.h" - -#include "ComboInputEditor.h" #include "ComboActionGraph.h" -#include "Nodes/ComboActionGraphNode.h" +#include "ComboActionGraphSchema.h" +#include "ComboInputEditor.h" +#include "EdGraphUtilities.h" +#include "GraphEditorActions.h" + #include "Ed/EdComboActionGraph.h" #include "Ed/EdComboActionGraphEdge.h" #include "Ed/EdComboActionGraphNode.h" #include "Ed/FAssetEditorToolbarComboActionGraph.h" #include "Ed/FComboActionGraphEditorCommands.h" -#include "ComboActionGraphSchema.h" -//#include "Helpers/ComboActionGraphHelpers.h" -//#include "Helpers/ComboActionSystemEditorBFC.h" +#include "Framework/Commands/GenericCommands.h" +#include "HAL/PlatformApplicationMisc.h" +#include "Kismet2/BlueprintEditorUtils.h" #include "Layout/AssetEditorTabs.h" #include "Layout/ComboActionGraphLayoutStrategy.h" #include "Layout/ComboActionForceDirectedSolveLayoutStrategy.h" #include "Layout/ComboActionTreeSolveLayoutStrategy.h" -//#include "Popups/MDSPopup_GraphValidation.h" +#include "Nodes/ComboActionGraphNode.h" +#include "Popups/ComboInputPopup_GraphValidation.h" #include "Search/ComboActionSearchUtils.h" #include "Search/SComboActionSearch.h" #include "Settings/ComboActionGraphEditorSettings.h" @@ -742,35 +740,41 @@ bool FAssetEditor_ComboActionGraph::CanPasteNodes() const void FAssetEditor_ComboActionGraph::AutoArrange() { - UEdComboActionGraph *EdGraph = Cast(this->EditingGraph->EdGraph); - check(EdGraph != nullptr); + // For now, auto-arrange is broken. Just in case it can be activated by accident, + // show a popup saying as much if an auto-arrange is attempted. + TArray ValidationMessages; + ValidationMessages.Add(LOCTEXT("AssetEditor_ComboActionGraph_AutoArrangeDisabled", "Auto-arrange is currently broken.")); + ComboInputPopup_GraphValidation::Open(ValidationMessages); - const FScopedTransaction Transaction(LOCTEXT("ComboActionGraphEditorAutoArrange", "Combo Action Graph Editor: Auto Arrange all Nodes")); + //UEdComboActionGraph *EdGraph = Cast(this->EditingGraph->EdGraph); + //check(EdGraph != nullptr); - EdGraph->Modify(true); + //const FScopedTransaction Transaction(LOCTEXT("ComboActionGraphEditorAutoArrange", "Combo Action Graph Editor: Auto Arrange all Nodes")); - UComboActionGraphLayoutStrategy *LayoutStrategy = nullptr; - switch (this->ComboActionGraphEditorSettings->GetAutoLayoutStrategy()) - { - case EComboActionAutoLayoutStrategyType::Tree: - LayoutStrategy = NewObject(EdGraph, UComboActionTreeSolveLayoutStrategy::StaticClass()); - break; - case EComboActionAutoLayoutStrategyType::ForceDirected: - LayoutStrategy = NewObject(EdGraph, UComboActionForceDirectedSolveLayoutStrategy::StaticClass()); - break; - default: - break; - } + //EdGraph->Modify(true); - if (LayoutStrategy != nullptr) - { - LayoutStrategy->Layout(EdGraph); - LayoutStrategy->ConditionalBeginDestroy(); - } - else - { - UE_LOG(LogAssetEditorComboActionGraph, Error, TEXT("[AutoArrange] LayoutStrategy is null.")); - } + //UComboActionGraphLayoutStrategy *LayoutStrategy = nullptr; + //switch (this->ComboActionGraphEditorSettings->GetAutoLayoutStrategy()) + //{ + // case EComboActionAutoLayoutStrategyType::Tree: + // LayoutStrategy = NewObject(EdGraph, UComboActionTreeSolveLayoutStrategy::StaticClass()); + // break; + // case EComboActionAutoLayoutStrategyType::ForceDirected: + // LayoutStrategy = NewObject(EdGraph, UComboActionForceDirectedSolveLayoutStrategy::StaticClass()); + // break; + // default: + // break; + //} + + //if (LayoutStrategy != nullptr) + //{ + // LayoutStrategy->Layout(EdGraph); + // LayoutStrategy->ConditionalBeginDestroy(); + //} + //else + //{ + // UE_LOG(LogAssetEditorComboActionGraph, Error, TEXT("[AutoArrange] LayoutStrategy is null.")); + //} } bool FAssetEditor_ComboActionGraph::CanAutoArrange() const @@ -798,12 +802,12 @@ void FAssetEditor_ComboActionGraph::ValidateGraph() TArray ValidationMessages; if (ComboActionGraph->ValidateGraph(ValidationMessages, true) == false) { - //ValidationWindow = MDSPopup_GraphValidation::Open(ValidationMessages); + this->ValidationWindow = ComboInputPopup_GraphValidation::Open(ValidationMessages); } else { ValidationMessages.Empty(); - //ValidationWindow = MDSPopup_GraphValidation::Open(ValidationMessages); + this->ValidationWindow = ComboInputPopup_GraphValidation::Open(ValidationMessages); } }