Bläddra i källkod

clean up WIP

Signed-off-by: chcurran <[email protected]>
chcurran 3 år sedan
förälder
incheckning
5da820a8c2

+ 17 - 16
Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilder.cpp

@@ -27,23 +27,24 @@ namespace BuildVariableOverridesCpp
     };
 
     bool VersionConverter
-        ( [[maybe_unused]] AZ::SerializeContext& serializeContext
-        , [[maybe_unused]] AZ::SerializeContext::DataElementNode& rootElement)
+        ( AZ::SerializeContext& serializeContext
+        , AZ::SerializeContext::DataElementNode& rootElement)
     {
-        // #sc_editor_asset
-//         ScriptCanvasBuilder::BuildVariableOverrides overrides;
-//         overrides.m_source = SourceHandle(nullptr, assetHolder.GetAssetId().m_guid, {});
-// 
-//         for (auto& variable : editableData.GetVariables())
-//         {
-//             overrides.m_overrides.push_back(variable.m_graphVariable);
-//         }
-// 
-//         if (!rootElement.AddElementWithData(serializeContext, "runtimeDataOverrides", overrides))
-//         {
-//             AZ_Error("ScriptCanvas", false, "EditorScriptCanvasComponent conversion failed: failed to add 'runtimeDataOverrides'");
-//             return false;
-//         }
+         // #sc_editor_asset
+        ScriptCanvasBuilder::BuildVariableOverrides overrides;
+        overrides.m_source = SourceHandle(nullptr, assetHolder.GetAssetId().m_guid, {});
+ 
+        for (auto& variable : editableData.GetVariables())
+        {
+            overrides.m_overrides.push_back(variable.m_graphVariable);
+        }
+ 
+        if (!rootElement.AddElementWithData(serializeContext, "runtimeDataOverrides", overrides))
+        {
+            AZ_Error("ScriptCanvas", false, "EditorScriptCanvasComponent conversion failed: failed to add 'runtimeDataOverrides'");
+            return false;
+        }
+
         return true;
     }
 }

+ 8 - 9
Gems/ScriptCanvas/Code/Editor/Settings.cpp

@@ -110,15 +110,14 @@ namespace ScriptCanvasEditor
 
                 if (subElement)
                 {
-// #sc_editor_asset
-//                     if (subElement->GetData(assetIds))
-//                     {
-//                         assetSaveData.reserve(assetIds.size());
-//                         for (const AZ::Data::AssetId& assetId : assetIds)
-//                         {
-//                             assetSaveData.emplace_back(assetId);
-//                         }
-//                     }
+                    if (subElement->GetData(assetIds))
+                    {
+                        assetSaveData.reserve(assetIds.size());
+                        for (const AZ::Data::AssetId& assetId : assetIds)
+                        {
+                            assetSaveData.emplace_back(SourceHandle( nullptr, assetId.m_guid, "" ));
+                        }
+                    }
                 }
 
                 rootDataElementNode.RemoveElementByName(AZ_CRC_CE("ActiveAssetIds"));

+ 48 - 45
Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp

@@ -212,7 +212,7 @@ namespace ScriptCanvasEditor
         if (!entitiesWithScriptCanvas.empty())
         {
             QMenu* scriptCanvasMenu = nullptr;
-            // QAction* action = nullptr;
+            QAction* action = nullptr;
 
             // For entities with script canvas component, create a context menu to open any existing script canvases within each selected entity.
             for (const AZ::EntityId& entityId : entitiesWithScriptCanvas)
@@ -245,32 +245,33 @@ namespace ScriptCanvasEditor
 
                         AZStd::unordered_set< AZ::Data::AssetId > usedIds;
 
-                        //#sc_editor_asset
-//                         for (const auto& assetId : assetIds.values)
-//                         {
-//                             if (!assetId.IsValid() || usedIds.count(assetId) != 0)
-//                             {
-//                                 continue;
-//                             }
-// 
-//                             entityMenu->setEnabled(true);
-// 
-//                             usedIds.insert(assetId);
-// 
-//                             AZStd::string rootPath;
-//                             AZ::Data::AssetInfo assetInfo = AssetHelpers::GetAssetInfo(assetId, rootPath);
-// 
-//                             AZStd::string displayName;
-//                             AZ::StringFunc::Path::GetFileName(assetInfo.m_relativePath.c_str(), displayName);
-// 
-//                             action = entityMenu->addAction(QString("%1").arg(QString(displayName.c_str())));
-// 
-//                             QObject::connect(action, &QAction::triggered, [assetId]
-//                             {
-//                                 AzToolsFramework::OpenViewPane(LyViewPane::ScriptCanvas);
-//                                 GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAsset, assetId, -1);
-//                             });
-//                         }
+                        for (const auto& assetId : assetIds.values)
+                        {
+                            if (!assetId.IsValid() || usedIds.count(assetId) != 0)
+                            {
+                                continue;
+                            }
+ 
+                            entityMenu->setEnabled(true);
+ 
+                            usedIds.insert(assetId);
+ 
+                            AZStd::string rootPath;
+                            AZ::Data::AssetInfo assetInfo = AssetHelpers::GetAssetInfo(assetId, rootPath);
+ 
+                            AZStd::string displayName;
+                            AZ::StringFunc::Path::GetFileName(assetInfo.m_relativePath.c_str(), displayName);
+ 
+                            action = entityMenu->addAction(QString("%1").arg(QString(displayName.c_str())));
+ 
+                            QObject::connect(action, &QAction::triggered, [assetId]
+                            {
+                                AzToolsFramework::OpenViewPane(LyViewPane::ScriptCanvas);
+                                GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAsset
+                                    , SourceHandle(nullptr, assetId.m_guid, "")
+                                    , Tracker::ScriptCanvasFileState::UNMODIFIED, -1);
+                            });
+                        }
                     }
                 }
             }
@@ -319,24 +320,26 @@ namespace ScriptCanvasEditor
         {
             isScriptCanvasAsset = true;
         }
-        // #sc_editor_asset
-//         if (isScriptCanvasAsset)
-//         {
-//             auto scriptCanvasEditorCallback = []([[maybe_unused]] const char* fullSourceFileNameInCall, const AZ::Uuid& sourceUUIDInCall)
-//             {
-//                 AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
-//                 const SourceAssetBrowserEntry* fullDetails = SourceAssetBrowserEntry::GetSourceByUuid(sourceUUIDInCall);
-//                 if (fullDetails)
-//                 {
-//                     AzToolsFramework::OpenViewPane(LyViewPane::ScriptCanvas);
-// 
-//                     AzToolsFramework::EditorRequests::Bus::Broadcast(&AzToolsFramework::EditorRequests::OpenViewPane, "Script Canvas");
-//                     GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAsset, sourceUUIDInCall, -1);
-//                 }
-//             };
-// 
-//             openers.push_back({ "O3DE_ScriptCanvasEditor", "Open In Script Canvas Editor...", QIcon(), scriptCanvasEditorCallback });
-//         }
+
+        if (isScriptCanvasAsset)
+        {
+            auto scriptCanvasEditorCallback = []([[maybe_unused]] const char* fullSourceFileNameInCall, const AZ::Uuid& sourceUUIDInCall)
+            {
+                AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
+                const SourceAssetBrowserEntry* fullDetails = SourceAssetBrowserEntry::GetSourceByUuid(sourceUUIDInCall);
+                if (fullDetails)
+                {
+                    AzToolsFramework::OpenViewPane(LyViewPane::ScriptCanvas);
+ 
+                    AzToolsFramework::EditorRequests::Bus::Broadcast(&AzToolsFramework::EditorRequests::OpenViewPane, "Script Canvas");
+                    GeneralRequestBus::BroadcastResult(openOutcome
+                        , &GeneralRequests::OpenScriptCanvasAsset
+                        , SourceHandle(nullptr, sourceUUIDInCall, ""), Tracker::ScriptCanvasFileState::UNMODIFIED, -1);
+                }
+            };
+ 
+            openers.push_back({ "O3DE_ScriptCanvasEditor", "Open In Script Canvas Editor...", QIcon(), scriptCanvasEditorCallback });
+         }
     }
 
     void SystemComponent::OnUserSettingsActivated()

+ 54 - 52
Gems/ScriptCanvas/Code/Editor/View/Widgets/LoggingPanel/LoggingWindowTreeItems.cpp

@@ -619,51 +619,54 @@ namespace ScriptCanvasEditor
 
     void ExecutionLogTreeItem::ScrapeGraphCanvasData()
     {
-        // #sc_editor_asset
-//         if (!m_graphCanvasGraphId.IsValid())
-//         {
-//             GeneralRequestBus::BroadcastResult(m_graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, GetAssetId());
-// 
-//             if (!EditorGraphNotificationBus::Handler::BusIsConnected())
-//             {
-//                 ScriptCanvas::ScriptCanvasId scriptCanvasId;
-//                 GeneralRequestBus::BroadcastResult(scriptCanvasId, &GeneralRequests::FindScriptCanvasIdByAssetId, GetAssetId());
-// 
-//                 EditorGraphNotificationBus::Handler::BusConnect(scriptCanvasId);
-//             }
-//         }
-// 
-//         if (m_graphCanvasGraphId.IsValid())
-//         {
-//             if (!m_graphCanvasNodeId.IsValid())
-//             {
-//                 AssetGraphSceneBus::BroadcastResult(m_scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, GetAssetId(), m_scriptCanvasAssetNodeId);
-//                 SceneMemberMappingRequestBus::EventResult(m_graphCanvasNodeId, m_scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
-//             }
-// 
-//             if (m_graphCanvasNodeId.IsValid())
-//             {
-//                 const bool refreshDisplayData = false;
-//                 ResolveWrapperNode(refreshDisplayData);
-// 
-//                 AZStd::string displayName;
-//                 GraphCanvas::NodeTitleRequestBus::EventResult(displayName, m_graphCanvasNodeId, &GraphCanvas::NodeTitleRequests::GetTitle);
-// 
-//                 if (!displayName.empty())
-//                 {
-//                     m_displayName = displayName.c_str();
-//                 }
-// 
-//                 GraphCanvas::NodeTitleRequestBus::Event(m_graphCanvasNodeId, &GraphCanvas::NodeTitleRequests::ConfigureIconConfiguration, m_paletteConfiguration);
-// 
-//                 OnStylesLoaded();
-// 
-//                 PopulateInputSlotData();
-//                 PopulateOutputSlotData();
-// 
-//                 SignalDataChanged();
-//             }
-//         }
+        if (!m_graphCanvasGraphId.IsValid())
+        {
+            GeneralRequestBus::BroadcastResult(m_graphCanvasGraphId
+                , &GeneralRequests::FindGraphCanvasGraphIdByAssetId, SourceHandle(nullptr, GetAssetId().m_guid, ""));
+
+            if (!EditorGraphNotificationBus::Handler::BusIsConnected())
+            {
+                ScriptCanvas::ScriptCanvasId scriptCanvasId;
+                GeneralRequestBus::BroadcastResult(scriptCanvasId
+                    , &GeneralRequests::FindScriptCanvasIdByAssetId, SourceHandle(nullptr, GetAssetId().m_guid, ""));
+
+                EditorGraphNotificationBus::Handler::BusConnect(scriptCanvasId);
+            }
+        }
+
+        if (m_graphCanvasGraphId.IsValid())
+        {
+            if (!m_graphCanvasNodeId.IsValid())
+            {
+                AssetGraphSceneBus::BroadcastResult(m_scriptCanvasNodeId
+                    , &AssetGraphScene::FindEditorNodeIdByAssetNodeId
+                    , SourceHandle(nullptr, GetAssetId().m_guid, ""), m_scriptCanvasAssetNodeId);
+                SceneMemberMappingRequestBus::EventResult(m_graphCanvasNodeId, m_scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
+            }
+
+            if (m_graphCanvasNodeId.IsValid())
+            {
+                const bool refreshDisplayData = false;
+                ResolveWrapperNode(refreshDisplayData);
+
+                AZStd::string displayName;
+                GraphCanvas::NodeTitleRequestBus::EventResult(displayName, m_graphCanvasNodeId, &GraphCanvas::NodeTitleRequests::GetTitle);
+
+                if (!displayName.empty())
+                {
+                    m_displayName = displayName.c_str();
+                }
+
+                GraphCanvas::NodeTitleRequestBus::Event(m_graphCanvasNodeId, &GraphCanvas::NodeTitleRequests::ConfigureIconConfiguration, m_paletteConfiguration);
+
+                OnStylesLoaded();
+
+                PopulateInputSlotData();
+                PopulateOutputSlotData();
+
+                SignalDataChanged();
+            }
+        }
     }
 
     void ExecutionLogTreeItem::PopulateInputSlotData()
@@ -805,8 +808,8 @@ namespace ScriptCanvasEditor
     {
         if (!m_graphCanvasGraphId.IsValid())
         {
-            // #sc_editor_asset
-            // GeneralRequestBus::BroadcastResult(m_graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, m_graphIdentifier.m_assetId);
+            GeneralRequestBus::BroadcastResult(m_graphCanvasGraphId
+                , &GeneralRequests::FindGraphCanvasGraphIdByAssetId, SourceHandle(nullptr, m_graphIdentifier.m_assetId.m_guid, ""));
         }
 
         ScrapeInputName();
@@ -828,8 +831,7 @@ namespace ScriptCanvasEditor
         if (m_graphCanvasGraphId.IsValid() && m_assetInputEndpoint.IsValid())
         {
             AZ::EntityId scriptCanvasNodeId;
-            // #sc_editor_asset
-        // AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, GetAssetId(), m_assetInputEndpoint.GetNodeId());
+            AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, SourceHandle(nullptr, GetAssetId().m_guid, ""), m_assetInputEndpoint.GetNodeId());
 
             GraphCanvas::NodeId graphCanvasNodeId;
             SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
@@ -852,9 +854,9 @@ namespace ScriptCanvasEditor
         if (m_graphCanvasGraphId.IsValid() && m_assetOutputEndpoint.IsValid())
         {
             AZ::EntityId scriptCanvasNodeId;
-            // #sc_editor_asset
-            // AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, GetAssetId(), m_assetOutputEndpoint.GetNodeId());
-
+            AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId
+                , SourceHandle(nullptr, GetAssetId().m_guid, ""), m_assetOutputEndpoint.GetNodeId());
+            
             GraphCanvas::NodeId graphCanvasNodeId;
             SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
 

+ 11 - 12
Gems/ScriptCanvas/Code/Editor/View/Widgets/LoggingPanel/PivotTree/PivotTreeWidget.cpp

@@ -405,18 +405,17 @@ namespace ScriptCanvasEditor
         {
             sourceIndex = proxyModel->mapToSource(modelIndex);
         }
-        // #sc_editor_asset
-//         PivotTreeItem* pivotTreeItem = static_cast<PivotTreeItem*>(sourceIndex.internalPointer());
-// 
-//         if (pivotTreeItem)
-//         {
-//             PivotTreeGraphItem* graphItem = azrtti_cast<PivotTreeGraphItem*>(pivotTreeItem);
-// 
-//             if (graphItem)
-//             {
-//                 GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAssetId, graphItem->GetAssetId());
-//             }
-//         }
+
+        if (PivotTreeItem* pivotTreeItem = static_cast<PivotTreeItem*>(sourceIndex.internalPointer()))
+        {
+            if (PivotTreeGraphItem* graphItem = azrtti_cast<PivotTreeGraphItem*>(pivotTreeItem))
+            {
+                GeneralRequestBus::Broadcast
+                    ( &GeneralRequests::OpenScriptCanvasAssetId
+                    , SourceHandle(nullptr, graphItem->GetAssetId().m_guid, "")
+                    , Tracker::ScriptCanvasFileState::UNMODIFIED);
+            }
+        }
     }
 
 #include <Editor/View/Widgets/LoggingPanel/PivotTree/moc_PivotTreeWidget.cpp>

+ 9 - 5
Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/FunctionNodePaletteTreeItemTypes.cpp

@@ -129,8 +129,10 @@ namespace ScriptCanvasEditor
     {
         if (row == NodePaletteTreeItem::Column::Customization)
         {
-            // #sc_editor_asset
-            // GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAsset, GetSourceAssetId(), -1);
+            GeneralRequestBus::Broadcast
+                ( &GeneralRequests::OpenScriptCanvasAssetId
+                , SourceHandle(nullptr, GetSourceAssetId().m_guid, "")
+                , Tracker::ScriptCanvasFileState::UNMODIFIED);
         }
     }
 
@@ -138,9 +140,11 @@ namespace ScriptCanvasEditor
     {
         if (row != NodePaletteTreeItem::Column::Customization)
         {
-            // #sc_editor_asset
-            // GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAsset, GetSourceAssetId(), -1);
-            // return true;
+            GeneralRequestBus::Broadcast
+                ( &GeneralRequests::OpenScriptCanvasAssetId
+                , SourceHandle(nullptr, GetSourceAssetId().m_guid, "")
+                , Tracker::ScriptCanvasFileState::UNMODIFIED);
+            return true;
         }
 
         return false;

+ 4 - 2
Gems/ScriptCanvas/Code/Editor/View/Widgets/StatisticsDialog/ScriptCanvasStatisticsDialog.cpp

@@ -257,8 +257,10 @@ namespace ScriptCanvasEditor
 
                 if (treeItem->GetAssetId().IsValid())
                 {
-                    // #sc_editor_asset
-                    // GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAssetId, treeItem->GetAssetId());
+                    GeneralRequestBus::Broadcast
+                        ( &GeneralRequests::OpenScriptCanvasAssetId
+                        , SourceHandle(nullptr, treeItem->GetAssetId().m_guid, "")
+                        , Tracker::ScriptCanvasFileState::UNMODIFIED);
                 }
             }
         }

+ 3 - 10
Gems/ScriptCanvas/Code/Editor/View/Windows/MainWindow.cpp

@@ -2671,10 +2671,8 @@ namespace ScriptCanvasEditor
         }
     }
 
-    void MainWindow::CopyPathToClipboard(int /*index*/)
+    void MainWindow::CopyPathToClipboard(int index)
     {
-        // #sc_editor_asset
-        /*
         QVariant tabdata = m_tabBar->tabData(index);
 
         if (tabdata.isValid())
@@ -2682,20 +2680,15 @@ namespace ScriptCanvasEditor
             QClipboard* clipBoard = QGuiApplication::clipboard();
 
             auto assetId = tabdata.value<Widget::GraphTabMetadata>();
-
-            ScriptCanvasMemoryAsset::pointer memoryAsset;
-            AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, assetId);
-
-            if (memoryAsset)
+            if (!assetId.m_assetId.Path().empty())
             {
-                clipBoard->setText(memoryAsset->GetAbsolutePath().c_str());
+                clipBoard->setText(assetId.m_assetId.Path().c_str());
             }
             else
             {
                 clipBoard->setText(m_tabBar->tabText(index));
             }
         }
-        */
     }
 
     void MainWindow::OnActiveFileStateChanged()