Ver código fonte

initial compile of detailed path of change to regular sc files

Signed-off-by: chcurran <[email protected]>
chcurran 3 anos atrás
pai
commit
ad6dc8a3bd
26 arquivos alterados com 390 adições e 368 exclusões
  1. 17 16
      Gems/ScriptCanvas/Code/Asset/EditorAssetSystemComponent.cpp
  2. 25 24
      Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetHolder.cpp
  3. 2 1
      Gems/ScriptCanvas/Code/Editor/Components/EditorGraph.cpp
  4. 1 10
      Gems/ScriptCanvas/Code/Editor/Components/EditorScriptCanvasComponent.cpp
  5. 1 1
      Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/FunctionNodeDescriptorComponent.cpp
  6. 0 23
      Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Assets/ScriptCanvasBaseAssetData.cpp
  7. 1 27
      Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Assets/ScriptCanvasBaseAssetData.h
  8. 6 8
      Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Bus/RequestBus.h
  9. 1 2
      Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Components/EditorScriptCanvasComponent.h
  10. 22 18
      Gems/ScriptCanvas/Code/Editor/Settings.cpp
  11. 1 0
      Gems/ScriptCanvas/Code/Editor/Settings.h
  12. 49 45
      Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp
  13. 2 7
      Gems/ScriptCanvas/Code/Editor/Utilities/RecentAssetPath.cpp
  14. 1 0
      Gems/ScriptCanvas/Code/Editor/Utilities/RecentAssetPath.h
  15. 0 6
      Gems/ScriptCanvas/Code/Editor/View/Widgets/CanvasWidget.cpp
  16. 79 72
      Gems/ScriptCanvas/Code/Editor/View/Widgets/GraphTabBar.cpp
  17. 9 9
      Gems/ScriptCanvas/Code/Editor/View/Widgets/LoggingPanel/LoggingWindowSession.cpp
  18. 51 47
      Gems/ScriptCanvas/Code/Editor/View/Widgets/LoggingPanel/LoggingWindowTreeItems.cpp
  19. 12 12
      Gems/ScriptCanvas/Code/Editor/View/Widgets/LoggingPanel/PivotTree/PivotTreeWidget.cpp
  20. 5 3
      Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/FunctionNodePaletteTreeItemTypes.cpp
  21. 2 1
      Gems/ScriptCanvas/Code/Editor/View/Widgets/StatisticsDialog/ScriptCanvasStatisticsDialog.cpp
  22. 1 1
      Gems/ScriptCanvas/Code/Editor/View/Widgets/UnitTestPanel/UnitTestDockWidget.cpp
  23. 34 34
      Gems/ScriptCanvas/Code/Editor/View/Windows/MainWindow.cpp
  24. 2 1
      Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/UpgradeHelper.cpp
  25. 35 0
      Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.cpp
  26. 31 0
      Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.h

+ 17 - 16
Gems/ScriptCanvas/Code/Asset/EditorAssetSystemComponent.cpp

@@ -122,7 +122,7 @@ namespace ScriptCanvasEditor
         return ScriptCanvasBuilder::CreateLuaAsset(editAsset->GetScriptCanvasEntity(), editAsset->GetId(), graphPathForRawLuaFile);
         return ScriptCanvasBuilder::CreateLuaAsset(editAsset->GetScriptCanvasEntity(), editAsset->GetId(), graphPathForRawLuaFile);
     }
     }
 
 
-    void EditorAssetSystemComponent::AddSourceFileOpeners([[maybe_unused]] const char* fullSourceFileName, const AZ::Uuid& sourceUuid, AzToolsFramework::AssetBrowser::SourceFileOpenerList& openers)
+    void EditorAssetSystemComponent::AddSourceFileOpeners([[maybe_unused]] const char* fullSourceFileName, [[maybe_unused]] const AZ::Uuid& sourceUuid, [[maybe_unused]] AzToolsFramework::AssetBrowser::SourceFileOpenerList& openers)
     {
     {
         using namespace AzToolsFramework;
         using namespace AzToolsFramework;
         using namespace AzToolsFramework::AssetBrowser;
         using namespace AzToolsFramework::AssetBrowser;
@@ -139,21 +139,22 @@ namespace ScriptCanvasEditor
             return;
             return;
         }
         }
         // You can push back any number of "Openers" - choose a unique identifier, and icon, and then a lambda which will be activated if the user chooses to open it with your opener:
         // You can push back any number of "Openers" - choose a unique identifier, and icon, and then a lambda which will be activated if the user chooses to open it with your opener:
-        openers.push_back({ "ScriptCanvas_Editor_Asset_Edit", "Script Canvas Editor...", QIcon(),
-            [](const char*, const AZ::Uuid& scSourceUuid)
-        {
-            AzToolsFramework::OpenViewPane(LyViewPane::ScriptCanvas);
-            AZ::Data::AssetId sourceAssetId(scSourceUuid, 0);
-
-            auto& assetManager = AZ::Data::AssetManager::Instance();
-            AZ::Data::Asset<ScriptCanvasAsset> scriptCanvasAsset = assetManager.GetAsset(sourceAssetId, azrtti_typeid<ScriptCanvasAsset>(), AZ::Data::AssetLoadBehavior::Default);
-            AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
-            GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAsset, scriptCanvasAsset.GetId(), -1);
-            if (!openOutcome)
-            {
-                AZ_Warning("Script Canvas", openOutcome, "%s", openOutcome.GetError().data());
-            }
-        } });
+        // #sc_editor_asset
+        // openers.push_back({ "ScriptCanvas_Editor_Asset_Edit", "Script Canvas Editor...", QIcon(),
+//             [](const char*, const AZ::Uuid& scSourceUuid)
+//         {
+//             AzToolsFramework::OpenViewPane(LyViewPane::ScriptCanvas);
+//             AZ::Data::AssetId sourceAssetId(scSourceUuid, 0);
+// 
+//             auto& assetManager = AZ::Data::AssetManager::Instance();
+//             AZ::Data::Asset<ScriptCanvasAsset> scriptCanvasAsset = assetManager.GetAsset(sourceAssetId, azrtti_typeid<ScriptCanvasAsset>(), AZ::Data::AssetLoadBehavior::Default);
+//             AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
+//             GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAsset, scriptCanvasAsset.GetId(), -1);
+//             if (!openOutcome)
+//             {
+//                 AZ_Warning("Script Canvas", openOutcome, "%s", openOutcome.GetError().data());
+//             }
+//         } });
 
 
     }
     }
 }
 }

+ 25 - 24
Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetHolder.cpp

@@ -82,30 +82,31 @@ namespace ScriptCanvasEditor
 
 
     void ScriptCanvasAssetHolder::OpenEditor() const
     void ScriptCanvasAssetHolder::OpenEditor() const
     {
     {
-        AzToolsFramework::OpenViewPane(LyViewPane::ScriptCanvas);
-
-        AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
-
-        if (m_scriptCanvasAsset.IsReady())
-        {
-            GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAsset, m_scriptCanvasAsset.GetId(), -1);
-
-            if (!openOutcome)
-            {
-                AZ_Warning("Script Canvas", openOutcome, "%s", openOutcome.GetError().data());
-            }
-        }
-        else if (m_ownerId.first.IsValid())
-        {
-            AzToolsFramework::EntityIdList selectedEntityIds;
-            AzToolsFramework::ToolsApplicationRequestBus::BroadcastResult(selectedEntityIds, &AzToolsFramework::ToolsApplicationRequests::GetSelectedEntities);
-
-            // Going to bypass the multiple selected entities flow for right now.
-            if (selectedEntityIds.size() == 1)
-            {
-                GeneralRequestBus::Broadcast(&GeneralRequests::CreateScriptCanvasAssetFor, m_ownerId);
-            }
-        }
+        // #sc_editor_asset
+//         AzToolsFramework::OpenViewPane(LyViewPane::ScriptCanvas);
+// 
+//         AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
+// 
+//         if (m_scriptCanvasAsset.IsReady())
+//         {
+//             GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAsset, m_scriptCanvasAsset.GetId(), -1);
+// 
+//             if (!openOutcome)
+//             {
+//                 AZ_Warning("Script Canvas", openOutcome, "%s", openOutcome.GetError().data());
+//             }
+//         }
+//         else if (m_ownerId.first.IsValid())
+//         {
+//             AzToolsFramework::EntityIdList selectedEntityIds;
+//             AzToolsFramework::ToolsApplicationRequestBus::BroadcastResult(selectedEntityIds, &AzToolsFramework::ToolsApplicationRequests::GetSelectedEntities);
+// 
+//             // Going to bypass the multiple selected entities flow for right now.
+//             if (selectedEntityIds.size() == 1)
+//             {
+//                 GeneralRequestBus::Broadcast(&GeneralRequests::CreateScriptCanvasAssetFor, m_ownerId);
+//             }
+//         }
     }
     }
 
 
     ScriptCanvas::ScriptCanvasId ScriptCanvasAssetHolder::GetScriptCanvasId() const
     ScriptCanvas::ScriptCanvasId ScriptCanvasAssetHolder::GetScriptCanvasId() const

+ 2 - 1
Gems/ScriptCanvas/Code/Editor/Components/EditorGraph.cpp

@@ -1340,7 +1340,8 @@ namespace ScriptCanvasEditor
 
 
     void Graph::SignalDirty()
     void Graph::SignalDirty()
     {
     {
-        GeneralRequestBus::Broadcast(&GeneralRequests::SignalSceneDirty, GetAssetId());
+        // #sc_editor_asset
+        // GeneralRequestBus::Broadcast(&GeneralRequests::SignalSceneDirty, GetAssetId());
     }
     }
 
 
     void Graph::HighlightNodesByType(const ScriptCanvas::NodeTypeIdentifier& nodeTypeIdentifier)
     void Graph::HighlightNodesByType(const ScriptCanvas::NodeTypeIdentifier& nodeTypeIdentifier)

+ 1 - 10
Gems/ScriptCanvas/Code/Editor/Components/EditorScriptCanvasComponent.cpp

@@ -247,21 +247,12 @@ namespace ScriptCanvasEditor
         m_scriptCanvasAssetHolder.OpenEditor();
         m_scriptCanvasAssetHolder.OpenEditor();
     }
     }
 
 
-    void EditorScriptCanvasComponent::CloseGraph()
-    {
-        AZ::Data::AssetId assetId = m_scriptCanvasAssetHolder.GetAssetId();
-        if (assetId.IsValid())
-        {
-            GeneralRequestBus::Broadcast(&GeneralRequests::CloseScriptCanvasAsset, assetId);
-        }
-    }
-
     void EditorScriptCanvasComponent::Init()
     void EditorScriptCanvasComponent::Init()
     {
     {
         EditorComponentBase::Init();
         EditorComponentBase::Init();
         AzFramework::AssetCatalogEventBus::Handler::BusConnect();
         AzFramework::AssetCatalogEventBus::Handler::BusConnect();
         AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusConnect();
         AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusConnect();
-        m_scriptCanvasAssetHolder.Init(GetEntityId(), GetId());
+        // m_scriptCanvasAssetHolder.Init(GetEntityId(), GetId());
     }
     }
 
 
     //=========================================================================
     //=========================================================================

+ 1 - 1
Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/FunctionNodeDescriptorComponent.cpp

@@ -97,7 +97,7 @@ namespace ScriptCanvasEditor
         }
         }
 
 
         AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
         AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
-        GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAsset, assetInfo.m_assetId, -1);
+        GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAsset, SourceHandle( nullptr, assetInfo.m_assetId.m_guid, {} ), -1);
         return openOutcome.IsSuccess();
         return openOutcome.IsSuccess();
     }
     }
 
 

+ 0 - 23
Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Assets/ScriptCanvasBaseAssetData.cpp

@@ -7,27 +7,4 @@
  */
  */
 
 
 #include <ScriptCanvas/Assets/ScriptCanvasBaseAssetData.h>
 #include <ScriptCanvas/Assets/ScriptCanvasBaseAssetData.h>
-#include <ScriptCanvas/Components/EditorGraph.h>
 
 
-namespace ScriptCanvas
-{
-    const Graph* ScriptCanvasData::GetGraph() const
-    {
-        return AZ::EntityUtils::FindFirstDerivedComponent<ScriptCanvas::Graph>(m_scriptCanvasEntity.get());
-    }
-
-    const ScriptCanvasEditor::Graph* ScriptCanvasData::GetEditorGraph() const
-    {
-        return AZ::EntityUtils::FindFirstDerivedComponent<ScriptCanvasEditor::Graph>(m_scriptCanvasEntity.get());
-    }
-
-    Graph* ScriptCanvasData::ModGraph()
-    {
-        return AZ::EntityUtils::FindFirstDerivedComponent<ScriptCanvas::Graph>(m_scriptCanvasEntity.get());
-    }
-
-    ScriptCanvasEditor::Graph* ScriptCanvasData::ModEditorGraph()
-    {
-        return AZ::EntityUtils::FindFirstDerivedComponent<ScriptCanvasEditor::Graph>(m_scriptCanvasEntity.get());
-    }
-}

+ 1 - 27
Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Assets/ScriptCanvasBaseAssetData.h

@@ -13,31 +13,5 @@
 
 
 namespace ScriptCanvas
 namespace ScriptCanvas
 {
 {
-    class ScriptCanvasData
-    {
-    public:
-
-        AZ_RTTI(ScriptCanvasData, "{1072E894-0C67-4091-8B64-F7DB324AD13C}");
-        AZ_CLASS_ALLOCATOR(ScriptCanvasData, AZ::SystemAllocator, 0);
-        ScriptCanvasData() {}
-        virtual ~ScriptCanvasData() {}
-        ScriptCanvasData(ScriptCanvasData&& other);
-        ScriptCanvasData& operator=(ScriptCanvasData&& other);
-
-        static void Reflect(AZ::ReflectContext* reflectContext);
-
-        AZ::Entity* GetScriptCanvasEntity() const { return m_scriptCanvasEntity.get(); }
-
-        const Graph* GetGraph() const;
-
-        const ScriptCanvasEditor::Graph* GetEditorGraph() const;
-
-        Graph* ModGraph();
-
-        ScriptCanvasEditor::Graph* ModEditorGraph();
-
-        AZStd::unique_ptr<AZ::Entity> m_scriptCanvasEntity;
-    private:
-        ScriptCanvasData(const ScriptCanvasData&) = delete;
-    };
+   
 }
 }

+ 6 - 8
Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Bus/RequestBus.h

@@ -8,18 +8,16 @@
 
 
 #pragma once
 #pragma once
 
 
-#include <AzCore/EBus/EBus.h>
-#include <AzCore/Component/EntityId.h>
-#include <AzCore/Component/Entity.h>
 #include <AzCore/Asset/AssetCommon.h>
 #include <AzCore/Asset/AssetCommon.h>
-#include <AzCore/Outcome/Outcome.h>
+#include <AzCore/Component/Entity.h>
+#include <AzCore/Component/EntityId.h>
+#include <AzCore/EBus/EBus.h>
 #include <AzCore/Math/Vector2.h>
 #include <AzCore/Math/Vector2.h>
-
+#include <AzCore/Outcome/Outcome.h>
 #include <GraphCanvas/Types/Types.h>
 #include <GraphCanvas/Types/Types.h>
-
-#include <ScriptCanvas/Bus/ScriptCanvasBus.h>
 #include <ScriptCanvas/Bus/NodeIdPair.h>
 #include <ScriptCanvas/Bus/NodeIdPair.h>
-
+#include <ScriptCanvas/Bus/ScriptCanvasBus.h>
+#include <ScriptCanvas/Core/Core.h>
 #include <ScriptCanvas/Data/Data.h>
 #include <ScriptCanvas/Data/Data.h>
 
 
 class QLineEdit;
 class QLineEdit;

+ 1 - 2
Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Components/EditorScriptCanvasComponent.h

@@ -67,8 +67,7 @@ namespace ScriptCanvasEditor
         //=====================================================================
         //=====================================================================
 
 
         void OpenEditor();
         void OpenEditor();
-        void CloseGraph();
-
+        
         void SetName(const AZStd::string& name) { m_name = name; }
         void SetName(const AZStd::string& name) { m_name = name; }
         const AZStd::string& GetName() const;
         const AZStd::string& GetName() const;
         AZ::EntityId GetEditorEntityId() const { return GetEntity() ? GetEntityId() : AZ::EntityId(); }
         AZ::EntityId GetEditorEntityId() const { return GetEntity() ? GetEntityId() : AZ::EntityId(); }

+ 22 - 18
Gems/ScriptCanvas/Code/Editor/Settings.cpp

@@ -92,13 +92,11 @@ namespace ScriptCanvasEditor
 
 
         // WorkspaceAssetSaveData
         // WorkspaceAssetSaveData
         EditorWorkspace::WorkspaceAssetSaveData::WorkspaceAssetSaveData()
         EditorWorkspace::WorkspaceAssetSaveData::WorkspaceAssetSaveData()
-            : m_assetType(azrtti_typeid<ScriptCanvasAsset>())
         {
         {
         }
         }
 
 
-        EditorWorkspace::WorkspaceAssetSaveData::WorkspaceAssetSaveData(const AZ::Data::AssetId& assetId)
+        EditorWorkspace::WorkspaceAssetSaveData::WorkspaceAssetSaveData(SourceHandle assetId)
             : m_assetId(assetId)
             : m_assetId(assetId)
-            , m_assetType(azrtti_typeid<ScriptCanvasAsset>())
         {
         {
         }
         }
 
 
@@ -108,24 +106,31 @@ namespace ScriptCanvasEditor
             {
             {
                 AZStd::vector<WorkspaceAssetSaveData> assetSaveData;
                 AZStd::vector<WorkspaceAssetSaveData> assetSaveData;
                 AZStd::vector<AZ::Data::AssetId> assetIds;
                 AZStd::vector<AZ::Data::AssetId> assetIds;
-                auto subElement = rootDataElementNode.FindSubElement(AZ_CRC("ActiveAssetIds", 0xe445268a));
+                auto subElement = rootDataElementNode.FindSubElement(AZ_CRC_CE("ActiveAssetIds"));
 
 
                 if (subElement)
                 if (subElement)
                 {
                 {
-                    if (subElement->GetData(assetIds))
-                    {
-                        assetSaveData.reserve(assetIds.size());
-                        for (const AZ::Data::AssetId& assetId : assetIds)
-                        {
-                            assetSaveData.emplace_back(assetId);
-                        }
-                    }
+// #sc_editor_asset
+//                     if (subElement->GetData(assetIds))
+//                     {
+//                         assetSaveData.reserve(assetIds.size());
+//                         for (const AZ::Data::AssetId& assetId : assetIds)
+//                         {
+//                             assetSaveData.emplace_back(assetId);
+//                         }
+//                     }
                 }
                 }
 
 
-                rootDataElementNode.RemoveElementByName(AZ_CRC("ActiveAssetIds", 0xe445268a));
+                rootDataElementNode.RemoveElementByName(AZ_CRC_CE("ActiveAssetIds"));
                 rootDataElementNode.AddElementWithData(context, "ActiveAssetData", assetSaveData);
                 rootDataElementNode.AddElementWithData(context, "ActiveAssetData", assetSaveData);
             }
             }
 
 
+            if (rootDataElementNode.GetVersion() < 4)
+            {
+                rootDataElementNode.RemoveElementByName(AZ_CRC_CE("ActiveAssetIds"));
+                rootDataElementNode.RemoveElementByName(AZ_CRC_CE("FocusedAssetId"));
+            }
+
             return true;
             return true;
         }
         }
 
 
@@ -135,13 +140,12 @@ namespace ScriptCanvasEditor
             if (serialize)
             if (serialize)
             {
             {
                 serialize->Class<WorkspaceAssetSaveData>()
                 serialize->Class<WorkspaceAssetSaveData>()
-                    ->Version(1)
+                    ->Version(2)
                     ->Field("AssetId", &WorkspaceAssetSaveData::m_assetId)
                     ->Field("AssetId", &WorkspaceAssetSaveData::m_assetId)
-                    ->Field("AssetType", &WorkspaceAssetSaveData::m_assetType)
                 ;
                 ;
 
 
                 serialize->Class<EditorWorkspace>()
                 serialize->Class<EditorWorkspace>()
-                    ->Version(3, &EditorWorkspace::VersionConverter)
+                    ->Version(4, &EditorWorkspace::VersionConverter)
                     ->Field("m_storedWindowState", &EditorWorkspace::m_storedWindowState)
                     ->Field("m_storedWindowState", &EditorWorkspace::m_storedWindowState)
                     ->Field("m_windowGeometry", &EditorWorkspace::m_windowGeometry)
                     ->Field("m_windowGeometry", &EditorWorkspace::m_windowGeometry)
                     ->Field("FocusedAssetId", &EditorWorkspace::m_focusedAssetId)
                     ->Field("FocusedAssetId", &EditorWorkspace::m_focusedAssetId)
@@ -150,13 +154,13 @@ namespace ScriptCanvasEditor
             }
             }
         }
         }
 
 
-        void EditorWorkspace::ConfigureActiveAssets(AZ::Data::AssetId focussedAssetId, const AZStd::vector< WorkspaceAssetSaveData >& activeAssetData)
+        void EditorWorkspace::ConfigureActiveAssets(SourceHandle focussedAssetId, const AZStd::vector< WorkspaceAssetSaveData >& activeAssetData)
         {
         {
             m_focusedAssetId = focussedAssetId;
             m_focusedAssetId = focussedAssetId;
             m_activeAssetData = activeAssetData;
             m_activeAssetData = activeAssetData;
         }
         }
 
 
-        AZ::Data::AssetId EditorWorkspace::GetFocusedAssetId() const
+        SourceHandle EditorWorkspace::GetFocusedAssetId() const
         {
         {
             return m_focusedAssetId;
             return m_focusedAssetId;
         }
         }

+ 1 - 0
Gems/ScriptCanvas/Code/Editor/Settings.h

@@ -11,6 +11,7 @@
 #include <AzCore/Asset/AssetCommon.h>
 #include <AzCore/Asset/AssetCommon.h>
 #include <AzCore/Math/Uuid.h>
 #include <AzCore/Math/Uuid.h>
 #include <AzCore/UserSettings/UserSettings.h>
 #include <AzCore/UserSettings/UserSettings.h>
+#include <ScriptCanvas/Core/Core.h>
 
 
 // qdatastream.h(173): warning C4251: 'QDataStream::d': class 'QScopedPointer<QDataStreamPrivate,QScopedPointerDeleter<T>>' needs to have dll-interface to be used by clients of class 'QDataStream'
 // qdatastream.h(173): warning C4251: 'QDataStream::d': class 'QScopedPointer<QDataStreamPrivate,QScopedPointerDeleter<T>>' needs to have dll-interface to be used by clients of class 'QDataStream'
 // qwidget.h(858): warning C4800: 'uint': forcing value to bool 'true' or 'false' (performance warning)
 // qwidget.h(858): warning C4800: 'uint': forcing value to bool 'true' or 'false' (performance warning)

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

@@ -209,7 +209,7 @@ namespace ScriptCanvasEditor
         if (!entitiesWithScriptCanvas.empty())
         if (!entitiesWithScriptCanvas.empty())
         {
         {
             QMenu* scriptCanvasMenu = nullptr;
             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 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)
             for (const AZ::EntityId& entityId : entitiesWithScriptCanvas)
@@ -242,31 +242,32 @@ namespace ScriptCanvasEditor
 
 
                         AZStd::unordered_set< AZ::Data::AssetId > usedIds;
                         AZStd::unordered_set< AZ::Data::AssetId > usedIds;
 
 
-                        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);
-                            });
-                        }
+                        //#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);
+//                             });
+//                         }
                     }
                     }
                 }
                 }
             }
             }
@@ -301,7 +302,10 @@ namespace ScriptCanvasEditor
         return AzToolsFramework::AssetBrowser::SourceFileDetails();
         return AzToolsFramework::AssetBrowser::SourceFileDetails();
     }
     }
 
 
-    void SystemComponent::AddSourceFileOpeners(const char* fullSourceFileName, [[maybe_unused]] const AZ::Uuid& sourceUUID, AzToolsFramework::AssetBrowser::SourceFileOpenerList& openers)
+    void SystemComponent::AddSourceFileOpeners
+        ( [[maybe_unused]] const char* fullSourceFileName
+        , [[maybe_unused]] const AZ::Uuid& sourceUUID
+        , [[maybe_unused]] AzToolsFramework::AssetBrowser::SourceFileOpenerList& openers)
     {
     {
         using namespace AzToolsFramework;
         using namespace AzToolsFramework;
         using namespace AzToolsFramework::AssetBrowser;
         using namespace AzToolsFramework::AssetBrowser;
@@ -312,24 +316,24 @@ namespace ScriptCanvasEditor
         {
         {
             isScriptCanvasAsset = true;
             isScriptCanvasAsset = true;
         }
         }
-
-        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 });
-        }
+        // #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 });
+//         }
     }
     }
 
 
     void SystemComponent::OnUserSettingsActivated()
     void SystemComponent::OnUserSettingsActivated()

+ 2 - 7
Gems/ScriptCanvas/Code/Editor/Utilities/RecentAssetPath.cpp

@@ -26,12 +26,7 @@ namespace ScriptCanvasEditor
         recentOpenFileLocation = settings.value(SCRIPTCANVASEDITOR_SETTINGS_RECENT_OPEN_FILE_LOCATION_KEY).toString();
         recentOpenFileLocation = settings.value(SCRIPTCANVASEDITOR_SETTINGS_RECENT_OPEN_FILE_LOCATION_KEY).toString();
         settings.endGroup();
         settings.endGroup();
 
 
-        if (recentOpenFileLocation.isEmpty())
-        {
-            return {};
-        }
-        AZ::Data::AssetId assetId(recentOpenFileLocation.toUtf8().constData());
-        return assetId;
+        return { nullptr, {}, recentOpenFileLocation.toUtf8().constData() };
     }
     }
 
 
     void SetRecentAssetId(SourceHandle assetId)
     void SetRecentAssetId(SourceHandle assetId)
@@ -39,7 +34,7 @@ namespace ScriptCanvasEditor
         QSettings settings(QSettings::IniFormat, QSettings::UserScope, 
         QSettings settings(QSettings::IniFormat, QSettings::UserScope, 
             SCRIPTCANVASEDITOR_AZ_QCOREAPPLICATION_SETTINGS_ORGANIZATION_NAME);
             SCRIPTCANVASEDITOR_AZ_QCOREAPPLICATION_SETTINGS_ORGANIZATION_NAME);
 
 
-        AZStd::string guidStr = assetId.m_guid.ToString<AZStd::string>();
+        AZStd::string guidStr = assetId.Id().ToString<AZStd::string>();
 
 
         settings.beginGroup(SCRIPTCANVASEDITOR_NAME_SHORT);
         settings.beginGroup(SCRIPTCANVASEDITOR_NAME_SHORT);
         settings.setValue(SCRIPTCANVASEDITOR_SETTINGS_RECENT_OPEN_FILE_LOCATION_KEY, 
         settings.setValue(SCRIPTCANVASEDITOR_SETTINGS_RECENT_OPEN_FILE_LOCATION_KEY, 

+ 1 - 0
Gems/ScriptCanvas/Code/Editor/Utilities/RecentAssetPath.h

@@ -8,6 +8,7 @@
 #pragma once
 #pragma once
 
 
 #include <AzCore/Asset/AssetCommon.h>
 #include <AzCore/Asset/AssetCommon.h>
+#include <ScriptCanvas/Core/Core.h>
 
 
 namespace ScriptCanvasEditor
 namespace ScriptCanvasEditor
 {
 {

+ 0 - 6
Gems/ScriptCanvas/Code/Editor/View/Widgets/CanvasWidget.cpp

@@ -69,8 +69,6 @@ namespace ScriptCanvasEditor
         void CanvasWidget::ShowScene(const ScriptCanvas::ScriptCanvasId& scriptCanvasId)
         void CanvasWidget::ShowScene(const ScriptCanvas::ScriptCanvasId& scriptCanvasId)
         {
         {
             EditorGraphRequests* editorGraphRequests = EditorGraphRequestBus::FindFirstHandler(scriptCanvasId);
             EditorGraphRequests* editorGraphRequests = EditorGraphRequestBus::FindFirstHandler(scriptCanvasId);
-
-            editorGraphRequests->SetAssetId(m_assetId);
             editorGraphRequests->CreateGraphCanvasScene();
             editorGraphRequests->CreateGraphCanvasScene();
 
 
             AZ::EntityId graphCanvasSceneId = editorGraphRequests->GetGraphCanvasGraphId();
             AZ::EntityId graphCanvasSceneId = editorGraphRequests->GetGraphCanvasGraphId();
@@ -83,10 +81,6 @@ namespace ScriptCanvasEditor
         void CanvasWidget::SetAssetId(const AZ::Data::AssetId& assetId)
         void CanvasWidget::SetAssetId(const AZ::Data::AssetId& assetId)
         {
         {
             m_assetId = assetId;
             m_assetId = assetId;
-
-            EditorGraphRequests* editorGraphRequests = EditorGraphRequestBus::FindFirstHandler(m_scriptCanvasId);
-
-            editorGraphRequests->SetAssetId(m_assetId);
         }
         }
 
 
         const GraphCanvas::ViewId& CanvasWidget::GetViewId() const
         const GraphCanvas::ViewId& CanvasWidget::GetViewId() const

+ 79 - 72
Gems/ScriptCanvas/Code/Editor/View/Widgets/GraphTabBar.cpp

@@ -44,49 +44,50 @@ namespace ScriptCanvasEditor
             connect(this, &QTabBar::customContextMenuRequested, this, &GraphTabBar::OnContextMenu);
             connect(this, &QTabBar::customContextMenuRequested, this, &GraphTabBar::OnContextMenu);
         }
         }
 
 
-        void GraphTabBar::AddGraphTab(const AZ::Data::AssetId& assetId)
+        void GraphTabBar::AddGraphTab(ScriptCanvasEditor::SourceHandle assetId)
         {
         {
             InsertGraphTab(count(), assetId);
             InsertGraphTab(count(), assetId);
         }
         }
 
 
-        int GraphTabBar::InsertGraphTab(int tabIndex, const AZ::Data::AssetId& assetId)
+        int GraphTabBar::InsertGraphTab([[maybe_unused]] int tabIndex, [[maybe_unused]] ScriptCanvasEditor::SourceHandle assetId)
         {
         {
-            if (!SelectTab(assetId))
-            {
-                AZStd::shared_ptr<ScriptCanvasMemoryAsset> memoryAsset;
-                AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, assetId);
-
-                if (memoryAsset)
-                {
-                    ScriptCanvas::AssetDescription assetDescription = memoryAsset->GetAsset().Get()->GetAssetDescription();
-
-                    QIcon tabIcon = QIcon(assetDescription.GetIconPathImpl());
-                    int newTabIndex = qobject_cast<AzQtComponents::TabWidget*>(parent())->insertTab(tabIndex, new QWidget(), tabIcon, "");
-
-                    CanvasWidget* canvasWidget = memoryAsset->CreateView(this);
-
-                    canvasWidget->SetDefaultBorderColor(assetDescription.GetDisplayColorImpl());
-
-                    AZStd::string tabName;
-                    AzFramework::StringFunc::Path::GetFileName(memoryAsset->GetAbsolutePath().c_str(), tabName);
-
-                    ConfigureTab(newTabIndex, assetId, tabName);
-
-                    // new graphs will need to use their in-memory assetid which we'll need to update 
-                    // upon saving the asset
-                    if (!memoryAsset->GetFileAssetId().IsValid())
-                    {
-                        setTabData(newTabIndex, QVariant::fromValue(memoryAsset->GetId()));
-                    }
-
-                    return newTabIndex;
-                }
-            }
+            // #sc_editor_asset
+            // if (!SelectTab(assetId))
+//             {
+//                 AZStd::shared_ptr<ScriptCanvasMemoryAsset> memoryAsset;
+//                 AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, assetId);
+// 
+//                 if (memoryAsset)
+//                 {
+//                     ScriptCanvas::AssetDescription assetDescription = memoryAsset->GetAsset().Get()->GetAssetDescription();
+// 
+//                     QIcon tabIcon = QIcon(assetDescription.GetIconPathImpl());
+//                     int newTabIndex = qobject_cast<AzQtComponents::TabWidget*>(parent())->insertTab(tabIndex, new QWidget(), tabIcon, "");
+// 
+//                     CanvasWidget* canvasWidget = memoryAsset->CreateView(this);
+// 
+//                     canvasWidget->SetDefaultBorderColor(assetDescription.GetDisplayColorImpl());
+// 
+//                     AZStd::string tabName;
+//                     AzFramework::StringFunc::Path::GetFileName(memoryAsset->GetAbsolutePath().c_str(), tabName);
+// 
+//                     ConfigureTab(newTabIndex, assetId, tabName);
+// 
+//                     // new graphs will need to use their in-memory assetid which we'll need to update 
+//                     // upon saving the asset
+//                     if (!memoryAsset->GetFileAssetId().IsValid())
+//                     {
+//                         setTabData(newTabIndex, QVariant::fromValue(memoryAsset->GetId()));
+//                     }
+// 
+//                     return newTabIndex;
+//                 }
+//             }
 
 
             return -1;
             return -1;
         }
         }
 
 
-        bool GraphTabBar::SelectTab(const AZ::Data::AssetId& assetId)
+        bool GraphTabBar::SelectTab(ScriptCanvasEditor::SourceHandle assetId)
         {
         {
             int tabIndex = FindTab(assetId);
             int tabIndex = FindTab(assetId);
             if (-1 != tabIndex)
             if (-1 != tabIndex)
@@ -97,7 +98,7 @@ namespace ScriptCanvasEditor
             return false;
             return false;
         }
         }
 
 
-        void GraphTabBar::ConfigureTab(int tabIndex, AZ::Data::AssetId fileAssetId, const AZStd::string& tabName)
+        void GraphTabBar::ConfigureTab(int tabIndex, ScriptCanvasEditor::SourceHandle fileAssetId, const AZStd::string& tabName)
         {
         {
             if (fileAssetId.IsValid())
             if (fileAssetId.IsValid())
             {
             {
@@ -105,29 +106,32 @@ namespace ScriptCanvasEditor
 
 
                 if (tabDataVariant.isValid())
                 if (tabDataVariant.isValid())
                 {
                 {
-                    auto tabAssetId = tabDataVariant.value<AZ::Data::AssetId>();
-                    MemoryAssetNotificationBus::MultiHandler::BusDisconnect(tabAssetId);
+                    // #se_editor_asset
+                    // auto tabAssetId = tabDataVariant.value<AZ::Data::AssetId>();
+                    // MemoryAssetNotificationBus::MultiHandler::BusDisconnect(tabAssetId);
                 }
                 }
             
             
                 setTabData(tabIndex, QVariant::fromValue(fileAssetId));
                 setTabData(tabIndex, QVariant::fromValue(fileAssetId));
 
 
-                MemoryAssetNotificationBus::MultiHandler::BusConnect(fileAssetId);
+                // #se_editor_asset
+                // MemoryAssetNotificationBus::MultiHandler::BusConnect(fileAssetId);
             }
             }
 
 
+            // #se_editor_asset
             Tracker::ScriptCanvasFileState fileState = Tracker::ScriptCanvasFileState::INVALID;
             Tracker::ScriptCanvasFileState fileState = Tracker::ScriptCanvasFileState::INVALID;
-            AssetTrackerRequestBus::BroadcastResult(fileState, &AssetTrackerRequests::GetFileState, fileAssetId);
+            // AssetTrackerRequestBus::BroadcastResult(fileState, &AssetTrackerRequests::GetFileState, fileAssetId);
 
 
             SetTabText(tabIndex, tabName.c_str(), fileState);
             SetTabText(tabIndex, tabName.c_str(), fileState);
         }
         }
 
 
-        int GraphTabBar::FindTab(const AZ::Data::AssetId& assetId) const
+        int GraphTabBar::FindTab(ScriptCanvasEditor::SourceHandle assetId) const
         {
         {
             for (int tabIndex = 0; tabIndex < count(); ++tabIndex)
             for (int tabIndex = 0; tabIndex < count(); ++tabIndex)
             {
             {
                 QVariant tabDataVariant = tabData(tabIndex);
                 QVariant tabDataVariant = tabData(tabIndex);
                 if (tabDataVariant.isValid())
                 if (tabDataVariant.isValid())
                 {
                 {
-                    auto tabAssetId = tabDataVariant.value<AZ::Data::AssetId>();
+                    auto tabAssetId = tabDataVariant.value<ScriptCanvasEditor::SourceHandle>();
                     if (tabAssetId == assetId)
                     if (tabAssetId == assetId)
                     {
                     {
                         return tabIndex;
                         return tabIndex;
@@ -137,16 +141,16 @@ namespace ScriptCanvasEditor
             return -1;
             return -1;
         }
         }
 
 
-        AZ::Data::AssetId GraphTabBar::FindAssetId(int tabIndex)
+        ScriptCanvasEditor::SourceHandle GraphTabBar::FindAssetId(int tabIndex)
         {
         {
             QVariant dataVariant = tabData(tabIndex);
             QVariant dataVariant = tabData(tabIndex);
             if (dataVariant.isValid())
             if (dataVariant.isValid())
             {
             {
-                auto tabAssetId = dataVariant.value<AZ::Data::AssetId>();
+                auto tabAssetId = dataVariant.value<ScriptCanvasEditor::SourceHandle>();
                 return tabAssetId;
                 return tabAssetId;
             }
             }
 
 
-            return AZ::Data::AssetId();
+            return ScriptCanvasEditor::SourceHandle();
         }
         }
 
 
         void GraphTabBar::CloseTab(int index)
         void GraphTabBar::CloseTab(int index)
@@ -263,19 +267,20 @@ namespace ScriptCanvasEditor
             AzQtComponents::TabBar::mouseReleaseEvent(event);
             AzQtComponents::TabBar::mouseReleaseEvent(event);
         }
         }
 
 
-        void GraphTabBar::OnFileStateChanged(Tracker::ScriptCanvasFileState fileState)
+        void GraphTabBar::OnFileStateChanged(Tracker::ScriptCanvasFileState )
         {
         {
-            const AZ::Data::AssetId* fileAssetId = MemoryAssetNotificationBus::GetCurrentBusId();
-
-            if (fileAssetId)
-            {
-                SetFileState((*fileAssetId), fileState);
-
-                if (FindTab((*fileAssetId)) == currentIndex())
-                {
-                    Q_EMIT OnActiveFileStateChanged();
-                }
-            }
+            // #se_editor_asset
+            // const AZ::Data::AssetId* fileAssetId = MemoryAssetNotificationBus::GetCurrentBusId();
+
+//             if (fileAssetId)
+//             {
+//                 SetFileState((*fileAssetId), fileState);
+// 
+//                 if (FindTab((*fileAssetId)) == currentIndex())
+//                 {
+//                     Q_EMIT OnActiveFileStateChanged();
+//                 }
+//             }
         }
         }
 
 
         void GraphTabBar::SetTabText(int tabIndex, const QString& path, Tracker::ScriptCanvasFileState fileState)
         void GraphTabBar::SetTabText(int tabIndex, const QString& path, Tracker::ScriptCanvasFileState fileState)
@@ -329,7 +334,8 @@ namespace ScriptCanvasEditor
 
 
             auto assetId = tabdata.value<AZ::Data::AssetId>();
             auto assetId = tabdata.value<AZ::Data::AssetId>();
 
 
-            ScriptCanvasEditor::GeneralRequestBus::Broadcast(&ScriptCanvasEditor::GeneralRequests::OnChangeActiveGraphTab, assetId);
+            // #sc_editor_asset
+        // ScriptCanvasEditor::GeneralRequestBus::Broadcast(&ScriptCanvasEditor::GeneralRequests::OnChangeActiveGraphTab, assetId);
 
 
             if (m_signalSaveOnChangeTo >= 0 && m_signalSaveOnChangeTo == index)
             if (m_signalSaveOnChangeTo >= 0 && m_signalSaveOnChangeTo == index)
             {
             {
@@ -338,22 +344,23 @@ namespace ScriptCanvasEditor
             }
             }
         }
         }
 
 
-        void GraphTabBar::SetFileState(AZ::Data::AssetId assetId, Tracker::ScriptCanvasFileState fileState)
+        void GraphTabBar::SetFileState(ScriptCanvasEditor::SourceHandle, Tracker::ScriptCanvasFileState )
         {
         {
-            int index = FindTab(assetId);
-
-            if (index >= 0 && index < count())
-            {
-                QVariant tabdata = tabData(index);
-                if (tabdata.isValid())
-                {
-                    auto tabAssetId = tabdata.value<AZ::Data::AssetId>();
-
-                    AZStd::string tabName;
-                    AssetTrackerRequestBus::BroadcastResult(tabName, &AssetTrackerRequests::GetTabName, tabAssetId);
-                    SetTabText(index, tabName.c_str(), fileState);
-                }
-            }
+            // #se_editor_asset
+            // int index = FindTab(assetId);
+
+//             if (index >= 0 && index < count())
+//             {
+//                 QVariant tabdata = tabData(index);
+//                 if (tabdata.isValid())
+//                 {
+//                     auto tabAssetId = tabdata.value<AZ::Data::AssetId>();
+// 
+//                     AZStd::string tabName;
+//                     AssetTrackerRequestBus::BroadcastResult(tabName, &AssetTrackerRequests::GetTabName, tabAssetId);
+//                     SetTabText(index, tabName.c_str(), fileState);
+//                 }
+//             }
         }
         }
 
 
         #include <Editor/View/Widgets/moc_GraphTabBar.cpp>
         #include <Editor/View/Widgets/moc_GraphTabBar.cpp>

+ 9 - 9
Gems/ScriptCanvas/Code/Editor/View/Widgets/LoggingPanel/LoggingWindowSession.cpp

@@ -256,7 +256,7 @@ namespace ScriptCanvasEditor
 
 
                 const AZ::Data::AssetId& assetId = executionItem->GetAssetId();
                 const AZ::Data::AssetId& assetId = executionItem->GetAssetId();
                 
                 
-                GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAssetId, assetId);
+                GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAssetId, SourceHandle(nullptr, assetId.m_guid, {}));
             }
             }
         }
         }
     }
     }
@@ -270,12 +270,12 @@ namespace ScriptCanvasEditor
             const AZ::Data::AssetId& assetId = executionItem->GetAssetId();
             const AZ::Data::AssetId& assetId = executionItem->GetAssetId();
 
 
             bool isAssetOpen = false;
             bool isAssetOpen = false;
-            GeneralRequestBus::BroadcastResult(isAssetOpen, &GeneralRequests::IsScriptCanvasAssetOpen, assetId);
+            GeneralRequestBus::BroadcastResult(isAssetOpen, &GeneralRequests::IsScriptCanvasAssetOpen, SourceHandle(nullptr, assetId.m_guid, {}));
 
 
-            GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAssetId, assetId);
+            GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAssetId, SourceHandle(nullptr, assetId.m_guid, {}));
 
 
             AZ::EntityId graphCanvasGraphId;
             AZ::EntityId graphCanvasGraphId;
-            GeneralRequestBus::BroadcastResult(graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, assetId);
+            GeneralRequestBus::BroadcastResult(graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, SourceHandle(nullptr, assetId.m_guid, {}));
             
             
             if (isAssetOpen)
             if (isAssetOpen)
             {
             {
@@ -348,7 +348,7 @@ namespace ScriptCanvasEditor
         GeneralRequestBus::BroadcastResult(activeGraphCanvasGraphId, &GeneralRequests::GetActiveGraphCanvasGraphId);
         GeneralRequestBus::BroadcastResult(activeGraphCanvasGraphId, &GeneralRequests::GetActiveGraphCanvasGraphId);
 
 
         AZ::EntityId graphCanvasGraphId;
         AZ::EntityId graphCanvasGraphId;
-        GeneralRequestBus::BroadcastResult(graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, m_assetId);
+        GeneralRequestBus::BroadcastResult(graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, SourceHandle(nullptr, m_assetId.m_guid, {}));
 
 
         if (activeGraphCanvasGraphId == graphCanvasGraphId)
         if (activeGraphCanvasGraphId == graphCanvasGraphId)
         {
         {
@@ -366,7 +366,7 @@ namespace ScriptCanvasEditor
         GraphCanvas::FocusConfig focusConfig;
         GraphCanvas::FocusConfig focusConfig;
 
 
         AZ::EntityId scriptCanvasNodeId;
         AZ::EntityId scriptCanvasNodeId;
-        AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, assetId, assetNodeId);
+        AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, SourceHandle(nullptr, assetId.m_guid, {}), assetNodeId);
 
 
         GraphCanvas::NodeId graphCanvasNodeId;
         GraphCanvas::NodeId graphCanvasNodeId;
         SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
         SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
@@ -403,12 +403,12 @@ namespace ScriptCanvasEditor
     void LoggingWindowSession::HighlightElement(const AZ::Data::AssetId& assetId, const AZ::EntityId& assetNodeId)
     void LoggingWindowSession::HighlightElement(const AZ::Data::AssetId& assetId, const AZ::EntityId& assetNodeId)
     {
     {
         AZ::EntityId graphCanvasGraphId;
         AZ::EntityId graphCanvasGraphId;
-        GeneralRequestBus::BroadcastResult(graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, assetId);
+        GeneralRequestBus::BroadcastResult(graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, SourceHandle(nullptr, assetId.m_guid, {}));
 
 
         if (graphCanvasGraphId.IsValid())
         if (graphCanvasGraphId.IsValid())
         {
         {
             AZ::EntityId scriptCanvasNodeId;
             AZ::EntityId scriptCanvasNodeId;
-            AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, assetId, assetNodeId);
+            AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, SourceHandle(nullptr, assetId.m_guid, {}), assetNodeId);
 
 
             GraphCanvas::NodeId graphCanvasNodeId;
             GraphCanvas::NodeId graphCanvasNodeId;
             SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
             SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
@@ -447,7 +447,7 @@ namespace ScriptCanvasEditor
         if (effectIter != m_highlightEffects.end())
         if (effectIter != m_highlightEffects.end())
         {
         {
             AZ::EntityId graphCanvasGraphId;
             AZ::EntityId graphCanvasGraphId;
-            GeneralRequestBus::BroadcastResult(graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, assetId);
+            GeneralRequestBus::BroadcastResult(graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, SourceHandle(nullptr, assetId.m_guid, {}));
 
 
             if (graphCanvasGraphId.IsValid())
             if (graphCanvasGraphId.IsValid())
             {
             {

+ 51 - 47
Gems/ScriptCanvas/Code/Editor/View/Widgets/LoggingPanel/LoggingWindowTreeItems.cpp

@@ -621,50 +621,51 @@ namespace ScriptCanvasEditor
 
 
     void ExecutionLogTreeItem::ScrapeGraphCanvasData()
     void ExecutionLogTreeItem::ScrapeGraphCanvasData()
     {
     {
-        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();
-            }
-        }
+        // #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();
+//             }
+//         }
     }
     }
 
 
     void ExecutionLogTreeItem::PopulateInputSlotData()
     void ExecutionLogTreeItem::PopulateInputSlotData()
@@ -806,7 +807,8 @@ namespace ScriptCanvasEditor
     {
     {
         if (!m_graphCanvasGraphId.IsValid())
         if (!m_graphCanvasGraphId.IsValid())
         {
         {
-            GeneralRequestBus::BroadcastResult(m_graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, m_graphIdentifier.m_assetId);
+            // #sc_editor_asset
+            // GeneralRequestBus::BroadcastResult(m_graphCanvasGraphId, &GeneralRequests::FindGraphCanvasGraphIdByAssetId, m_graphIdentifier.m_assetId);
         }
         }
 
 
         ScrapeInputName();
         ScrapeInputName();
@@ -828,7 +830,8 @@ namespace ScriptCanvasEditor
         if (m_graphCanvasGraphId.IsValid() && m_assetInputEndpoint.IsValid())
         if (m_graphCanvasGraphId.IsValid() && m_assetInputEndpoint.IsValid())
         {
         {
             AZ::EntityId scriptCanvasNodeId;
             AZ::EntityId scriptCanvasNodeId;
-            AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, GetAssetId(), m_assetInputEndpoint.GetNodeId());
+            // #sc_editor_asset
+        // AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, GetAssetId(), m_assetInputEndpoint.GetNodeId());
 
 
             GraphCanvas::NodeId graphCanvasNodeId;
             GraphCanvas::NodeId graphCanvasNodeId;
             SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
             SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
@@ -851,7 +854,8 @@ namespace ScriptCanvasEditor
         if (m_graphCanvasGraphId.IsValid() && m_assetOutputEndpoint.IsValid())
         if (m_graphCanvasGraphId.IsValid() && m_assetOutputEndpoint.IsValid())
         {
         {
             AZ::EntityId scriptCanvasNodeId;
             AZ::EntityId scriptCanvasNodeId;
-            AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, GetAssetId(), m_assetOutputEndpoint.GetNodeId());
+            // #sc_editor_asset
+            // AssetGraphSceneBus::BroadcastResult(scriptCanvasNodeId, &AssetGraphScene::FindEditorNodeIdByAssetNodeId, GetAssetId(), m_assetOutputEndpoint.GetNodeId());
 
 
             GraphCanvas::NodeId graphCanvasNodeId;
             GraphCanvas::NodeId graphCanvasNodeId;
             SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
             SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);

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

@@ -405,18 +405,18 @@ namespace ScriptCanvasEditor
         {
         {
             sourceIndex = proxyModel->mapToSource(modelIndex);
             sourceIndex = proxyModel->mapToSource(modelIndex);
         }
         }
-
-        PivotTreeItem* pivotTreeItem = static_cast<PivotTreeItem*>(sourceIndex.internalPointer());
-
-        if (pivotTreeItem)
-        {
-            PivotTreeGraphItem* graphItem = azrtti_cast<PivotTreeGraphItem*>(pivotTreeItem);
-
-            if (graphItem)
-            {
-                GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAssetId, graphItem->GetAssetId());
-            }
-        }
+        // #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());
+//             }
+//         }
     }
     }
 
 
 #include <Editor/View/Widgets/LoggingPanel/PivotTree/moc_PivotTreeWidget.cpp>
 #include <Editor/View/Widgets/LoggingPanel/PivotTree/moc_PivotTreeWidget.cpp>

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

@@ -129,7 +129,8 @@ namespace ScriptCanvasEditor
     {
     {
         if (row == NodePaletteTreeItem::Column::Customization)
         if (row == NodePaletteTreeItem::Column::Customization)
         {
         {
-            GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAsset, GetSourceAssetId(), -1);
+            // #sc_editor_asset
+            // GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAsset, GetSourceAssetId(), -1);
         }
         }
     }
     }
 
 
@@ -137,8 +138,9 @@ namespace ScriptCanvasEditor
     {
     {
         if (row != NodePaletteTreeItem::Column::Customization)
         if (row != NodePaletteTreeItem::Column::Customization)
         {
         {
-            GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAsset, GetSourceAssetId(), -1);
-            return true;
+            // #sc_editor_asset
+            // GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAsset, GetSourceAssetId(), -1);
+            // return true;
         }
         }
 
 
         return false;
         return false;

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

@@ -257,7 +257,8 @@ namespace ScriptCanvasEditor
 
 
                 if (treeItem->GetAssetId().IsValid())
                 if (treeItem->GetAssetId().IsValid())
                 {
                 {
-                    GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAssetId, treeItem->GetAssetId());
+                    // #sc_editor_asset
+                    // GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAssetId, treeItem->GetAssetId());
                 }
                 }
             }
             }
         }
         }

+ 1 - 1
Gems/ScriptCanvas/Code/Editor/View/Widgets/UnitTestPanel/UnitTestDockWidget.cpp

@@ -433,7 +433,7 @@ namespace ScriptCanvasEditor
         AZ::Data::AssetId sourceAssetId(sourceUuid, 0);
         AZ::Data::AssetId sourceAssetId(sourceUuid, 0);
 
 
         AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
         AZ::Outcome<int, AZStd::string> openOutcome = AZ::Failure(AZStd::string());
-        GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAssetId, sourceAssetId);
+        GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAssetId, ScriptCanvasEditor::SourceHandle(nullptr, sourceUuid, {}));
         if (!openOutcome)
         if (!openOutcome)
         {
         {
             AZ_Warning("Script Canvas", openOutcome, "%s", openOutcome.GetError().data());
             AZ_Warning("Script Canvas", openOutcome, "%s", openOutcome.GetError().data());

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

@@ -819,7 +819,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::SignalActiveSceneChanged(ScriptCanvasEditor::SourceHandle assetId)
     void MainWindow::SignalActiveSceneChanged(ScriptCanvasEditor::SourceHandle assetId)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         /*
         /*
         ScriptCanvasMemoryAsset::pointer memoryAsset;
         ScriptCanvasMemoryAsset::pointer memoryAsset;
         AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, assetId);
         AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, assetId);
@@ -938,7 +938,7 @@ namespace ScriptCanvasEditor
 
 
             if (shouldSaveResults == UnsavedChangesOptions::SAVE)
             if (shouldSaveResults == UnsavedChangesOptions::SAVE)
             {
             {
-                    // #sc-editor-asset
+                    // #se_editor_asset
 //                 Callbacks::OnSave saveCB = [this](bool isSuccessful, AZ::Data::AssetPtr, ScriptCanvasEditor::SourceHandle)
 //                 Callbacks::OnSave saveCB = [this](bool isSuccessful, AZ::Data::AssetPtr, ScriptCanvasEditor::SourceHandle)
 //                 {
 //                 {
 //                     if (isSuccessful)
 //                     if (isSuccessful)
@@ -1138,7 +1138,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::MarkAssetModified(const ScriptCanvasEditor::SourceHandle& /*assetId*/)
     void MainWindow::MarkAssetModified(const ScriptCanvasEditor::SourceHandle& /*assetId*/)
     {
     {
-// #sc-editor-asset        if (!assetId.IsValid())
+// #se_editor_asset        if (!assetId.IsValid())
 //         {
 //         {
 //             return;
 //             return;
 //         }
 //         }
@@ -1159,7 +1159,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::RefreshScriptCanvasAsset(const AZ::Data::Asset<ScriptCanvas::ScriptCanvasAssetBase>& /*asset*/)
     void MainWindow::RefreshScriptCanvasAsset(const AZ::Data::Asset<ScriptCanvas::ScriptCanvasAssetBase>& /*asset*/)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
        /*
        /*
         ScriptCanvasMemoryAsset::pointer memoryAsset;
         ScriptCanvasMemoryAsset::pointer memoryAsset;
         AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, asset.GetId());
         AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, asset.GetId());
@@ -1194,7 +1194,7 @@ namespace ScriptCanvasEditor
 
 
     AZ::Outcome<int, AZStd::string> MainWindow::OpenScriptCanvasAssetId(const ScriptCanvasEditor::SourceHandle& /*fileAssetId*/)
     AZ::Outcome<int, AZStd::string> MainWindow::OpenScriptCanvasAssetId(const ScriptCanvasEditor::SourceHandle& /*fileAssetId*/)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         return AZ::Failure(AZStd::string("rewrite MainWindow::OpenScriptCanvasAssetId"));
         return AZ::Failure(AZStd::string("rewrite MainWindow::OpenScriptCanvasAssetId"));
         /*
         /*
         if (!fileAssetId.IsValid())
         if (!fileAssetId.IsValid())
@@ -1260,7 +1260,7 @@ namespace ScriptCanvasEditor
 
 
     AZ::Outcome<int, AZStd::string> MainWindow::OpenScriptCanvasAsset(const ScriptCanvasMemoryAsset& /*scriptCanvasAsset*/, int /*tabIndex*/ /*= -1*/)
     AZ::Outcome<int, AZStd::string> MainWindow::OpenScriptCanvasAsset(const ScriptCanvasMemoryAsset& /*scriptCanvasAsset*/, int /*tabIndex*/ /*= -1*/)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         return AZ::Failure(AZStd::string("rewrite MainWindow::OpenScriptCanvasAsset"));
         return AZ::Failure(AZStd::string("rewrite MainWindow::OpenScriptCanvasAsset"));
         /*
         /*
         const ScriptCanvasEditor::SourceHandle& fileAssetId = scriptCanvasAsset.GetFileAssetId();
         const ScriptCanvasEditor::SourceHandle& fileAssetId = scriptCanvasAsset.GetFileAssetId();
@@ -1339,7 +1339,7 @@ namespace ScriptCanvasEditor
 
 
     AZ::Outcome<int, AZStd::string> MainWindow::OpenScriptCanvasAsset(ScriptCanvasEditor::SourceHandle /*scriptCanvasAssetId*/, int /*tabIndex*/ /*= -1*/)
     AZ::Outcome<int, AZStd::string> MainWindow::OpenScriptCanvasAsset(ScriptCanvasEditor::SourceHandle /*scriptCanvasAssetId*/, int /*tabIndex*/ /*= -1*/)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         return AZ::Failure(AZStd::string("rewrite MainWindow::OpenScriptCanvasAsset"));
         return AZ::Failure(AZStd::string("rewrite MainWindow::OpenScriptCanvasAsset"));
         /*
         /*
         ScriptCanvasMemoryAsset::pointer memoryAsset;
         ScriptCanvasMemoryAsset::pointer memoryAsset;
@@ -1359,14 +1359,14 @@ namespace ScriptCanvasEditor
 
 
     int MainWindow::CreateAssetTab(const ScriptCanvasEditor::SourceHandle& /*assetId*/, int /*tabIndex*/)
     int MainWindow::CreateAssetTab(const ScriptCanvasEditor::SourceHandle& /*assetId*/, int /*tabIndex*/)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         return -1;
         return -1;
         // return m_tabBar->InsertGraphTab(tabIndex, assetId);
         // return m_tabBar->InsertGraphTab(tabIndex, assetId);
     }
     }
 
 
     AZ::Outcome<int, AZStd::string> MainWindow::UpdateScriptCanvasAsset(const AZ::Data::Asset<ScriptCanvas::ScriptCanvasAssetBase>& /*scriptCanvasAsset*/)
     AZ::Outcome<int, AZStd::string> MainWindow::UpdateScriptCanvasAsset(const AZ::Data::Asset<ScriptCanvas::ScriptCanvasAssetBase>& /*scriptCanvasAsset*/)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         return AZ::Failure(AZStd::string("rewrite MainWindow::UpdateScriptCanvasAsset"));
         return AZ::Failure(AZStd::string("rewrite MainWindow::UpdateScriptCanvasAsset"));
 
 
         /*
         /*
@@ -1391,7 +1391,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::RemoveScriptCanvasAsset(const ScriptCanvasEditor::SourceHandle& /*assetId*/)
     void MainWindow::RemoveScriptCanvasAsset(const ScriptCanvasEditor::SourceHandle& /*assetId*/)
     {
     {
-        // #sc-editor-asset move what is necessary to the widget
+        // #se_editor_asset move what is necessary to the widget
         /*
         /*
         AssetHelpers::PrintInfo("RemoveScriptCanvasAsset : %s", AssetHelpers::AssetIdToString(assetId).c_str());
         AssetHelpers::PrintInfo("RemoveScriptCanvasAsset : %s", AssetHelpers::AssetIdToString(assetId).c_str());
 
 
@@ -1465,7 +1465,7 @@ namespace ScriptCanvasEditor
 
 
     bool MainWindow::IsScriptCanvasAssetOpen(const ScriptCanvasEditor::SourceHandle& /*assetId*/) const
     bool MainWindow::IsScriptCanvasAssetOpen(const ScriptCanvasEditor::SourceHandle& /*assetId*/) const
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         return false;
         return false;
     }
     }
 
 
@@ -1481,7 +1481,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::GetSuggestedFullFilenameToSaveAs(const ScriptCanvasEditor::SourceHandle& /*assetId*/, AZStd::string& /*filePath*/, AZStd::string& /*fileFilter*/)
     void MainWindow::GetSuggestedFullFilenameToSaveAs(const ScriptCanvasEditor::SourceHandle& /*assetId*/, AZStd::string& /*filePath*/, AZStd::string& /*fileFilter*/)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         /*
         /*
         ScriptCanvasMemoryAsset::pointer memoryAsset;
         ScriptCanvasMemoryAsset::pointer memoryAsset;
         AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, assetId);
         AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, assetId);
@@ -1893,7 +1893,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::OnSaveCallback(bool /*saveSuccess*/, AZ::Data::AssetPtr /*fileAsset*/, ScriptCanvasEditor::SourceHandle /*previousFileAssetId*/)
     void MainWindow::OnSaveCallback(bool /*saveSuccess*/, AZ::Data::AssetPtr /*fileAsset*/, ScriptCanvasEditor::SourceHandle /*previousFileAssetId*/)
     {
     {
-        // #sc-editor-asset  yikes...just save the thing...move to ::SaveAsset maybe
+        // #se_editor_asset  yikes...just save the thing...move to ::SaveAsset maybe
         
         
         /*
         /*
         ScriptCanvasMemoryAsset::pointer memoryAsset;
         ScriptCanvasMemoryAsset::pointer memoryAsset;
@@ -2566,7 +2566,7 @@ namespace ScriptCanvasEditor
 
 
     AZ::EntityId MainWindow::GetActiveGraphCanvasGraphId() const
     AZ::EntityId MainWindow::GetActiveGraphCanvasGraphId() const
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
 
 
         // AZ::EntityId graphId;
         // AZ::EntityId graphId;
         // AssetTrackerRequestBus::BroadcastResult(graphId, &AssetTrackerRequests::GetGraphId, m_activeGraph);
         // AssetTrackerRequestBus::BroadcastResult(graphId, &AssetTrackerRequests::GetGraphId, m_activeGraph);
@@ -2589,13 +2589,13 @@ namespace ScriptCanvasEditor
     {
     {
         // ScriptCanvas::ScriptCanvasId sceneId;
         // ScriptCanvas::ScriptCanvasId sceneId;
         // AssetTrackerRequestBus::BroadcastResult(sceneId, &AssetTrackerRequests::GetScriptCanvasId, m_activeGraph);
         // AssetTrackerRequestBus::BroadcastResult(sceneId, &AssetTrackerRequests::GetScriptCanvasId, m_activeGraph);
-        // #sc-editor-asset
+        // #se_editor_asset
         return ScriptCanvas::ScriptCanvasId{};
         return ScriptCanvas::ScriptCanvasId{};
     }
     }
 
 
     GraphCanvas::GraphId MainWindow::GetGraphCanvasGraphId(const ScriptCanvas::ScriptCanvasId& /*scriptCanvasId*/) const
     GraphCanvas::GraphId MainWindow::GetGraphCanvasGraphId(const ScriptCanvas::ScriptCanvasId& /*scriptCanvasId*/) const
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         // AZ::EntityId graphCanvasId;
         // AZ::EntityId graphCanvasId;
         // AssetTrackerRequestBus::BroadcastResult(graphCanvasId, &AssetTrackerRequests::GetGraphCanvasId, scriptCanvasId);
         // AssetTrackerRequestBus::BroadcastResult(graphCanvasId, &AssetTrackerRequests::GetGraphCanvasId, scriptCanvasId);
         // move to widget
         // move to widget
@@ -2604,7 +2604,7 @@ namespace ScriptCanvasEditor
 
 
     GraphCanvas::GraphId MainWindow::FindGraphCanvasGraphIdByAssetId(const ScriptCanvasEditor::SourceHandle& /*assetId*/) const
     GraphCanvas::GraphId MainWindow::FindGraphCanvasGraphIdByAssetId(const ScriptCanvasEditor::SourceHandle& /*assetId*/) const
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         // AZ::EntityId graphId;
         // AZ::EntityId graphId;
         // AssetTrackerRequestBus::BroadcastResult(graphId, &AssetTrackerRequests::GetGraphId, assetId);
         // AssetTrackerRequestBus::BroadcastResult(graphId, &AssetTrackerRequests::GetGraphId, assetId);
         return AZ::EntityId{};
         return AZ::EntityId{};
@@ -2612,7 +2612,7 @@ namespace ScriptCanvasEditor
 
 
     ScriptCanvas::ScriptCanvasId MainWindow::FindScriptCanvasIdByAssetId(const ScriptCanvasEditor::SourceHandle& /*assetId*/) const
     ScriptCanvas::ScriptCanvasId MainWindow::FindScriptCanvasIdByAssetId(const ScriptCanvasEditor::SourceHandle& /*assetId*/) const
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         // ScriptCanvas::ScriptCanvasId scriptCanvasId;
         // ScriptCanvas::ScriptCanvasId scriptCanvasId;
         // AssetTrackerRequestBus::BroadcastResult(scriptCanvasId, &AssetTrackerRequests::GetScriptCanvasId, assetId);
         // AssetTrackerRequestBus::BroadcastResult(scriptCanvasId, &AssetTrackerRequests::GetScriptCanvasId, assetId);
         return ScriptCanvas::ScriptCanvasId{};
         return ScriptCanvas::ScriptCanvasId{};
@@ -2620,7 +2620,7 @@ namespace ScriptCanvasEditor
 
 
     ScriptCanvas::ScriptCanvasId MainWindow::GetScriptCanvasId(const GraphCanvas::GraphId& /*graphCanvasGraphId*/) const
     ScriptCanvas::ScriptCanvasId MainWindow::GetScriptCanvasId(const GraphCanvas::GraphId& /*graphCanvasGraphId*/) const
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         // ScriptCanvas::ScriptCanvasId scriptCanvasId;
         // ScriptCanvas::ScriptCanvasId scriptCanvasId;
         // AssetTrackerRequestBus::BroadcastResult(scriptCanvasId, &AssetTrackerRequests::GetScriptCanvasIdFromGraphId, graphCanvasGraphId);
         // AssetTrackerRequestBus::BroadcastResult(scriptCanvasId, &AssetTrackerRequests::GetScriptCanvasIdFromGraphId, graphCanvasGraphId);
         return ScriptCanvas::ScriptCanvasId{};
         return ScriptCanvas::ScriptCanvasId{};
@@ -2628,7 +2628,7 @@ namespace ScriptCanvasEditor
 
 
     bool MainWindow::IsInUndoRedo(const AZ::EntityId& graphCanvasGraphId) const
     bool MainWindow::IsInUndoRedo(const AZ::EntityId& graphCanvasGraphId) const
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         bool isActive = false;
         bool isActive = false;
         UndoRequestBus::EventResult(isActive, GetScriptCanvasId(graphCanvasGraphId), &UndoRequests::IsActive);
         UndoRequestBus::EventResult(isActive, GetScriptCanvasId(graphCanvasGraphId), &UndoRequests::IsActive);
         return isActive;
         return isActive;
@@ -2683,7 +2683,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::ReconnectSceneBuses(ScriptCanvasEditor::SourceHandle /*previousAssetId*/, ScriptCanvasEditor::SourceHandle /*nextAssetId*/)
     void MainWindow::ReconnectSceneBuses(ScriptCanvasEditor::SourceHandle /*previousAssetId*/, ScriptCanvasEditor::SourceHandle /*nextAssetId*/)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         /*
         /*
         ScriptCanvasMemoryAsset::pointer previousAsset;
         ScriptCanvasMemoryAsset::pointer previousAsset;
         AssetTrackerRequestBus::BroadcastResult(previousAsset, &AssetTrackerRequests::GetAsset, previousAssetId);
         AssetTrackerRequestBus::BroadcastResult(previousAsset, &AssetTrackerRequests::GetAsset, previousAssetId);
@@ -2721,7 +2721,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::SetActiveAsset(const ScriptCanvasEditor::SourceHandle& /*fileAssetId*/)
     void MainWindow::SetActiveAsset(const ScriptCanvasEditor::SourceHandle& /*fileAssetId*/)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         /*
         /*
         if (m_activeGraph == fileAssetId)
         if (m_activeGraph == fileAssetId)
         {
         {
@@ -2786,7 +2786,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::RefreshActiveAsset()
     void MainWindow::RefreshActiveAsset()
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         /*
         /*
         if (m_activeGraph.IsValid())
         if (m_activeGraph.IsValid())
         {
         {
@@ -2836,7 +2836,7 @@ namespace ScriptCanvasEditor
     void MainWindow::Clear()
     void MainWindow::Clear()
     {
     {
         m_tabBar->CloseAllTabs();
         m_tabBar->CloseAllTabs();
-        // #sc-editor-asset
+        // #se_editor_asset
 // 
 // 
 //         AssetTrackerRequests::AssetList assets;
 //         AssetTrackerRequests::AssetList assets;
 //         AssetTrackerRequestBus::BroadcastResult(assets, &AssetTrackerRequests::GetAssets);
 //         AssetTrackerRequestBus::BroadcastResult(assets, &AssetTrackerRequests::GetAssets);
@@ -2860,7 +2860,7 @@ namespace ScriptCanvasEditor
             Tracker::ScriptCanvasFileState fileState = Tracker::ScriptCanvasFileState::NEW;
             Tracker::ScriptCanvasFileState fileState = Tracker::ScriptCanvasFileState::NEW;
             bool isSaving = false;
             bool isSaving = false;
 
 
-            // #sc-editor-asset Get from widgets
+            // #se_editor_asset Get from widgets
             /*
             /*
             AssetTrackerRequestBus::BroadcastResult(fileState, &AssetTrackerRequests::GetFileState, fileAssetId);
             AssetTrackerRequestBus::BroadcastResult(fileState, &AssetTrackerRequests::GetFileState, fileAssetId);
             AssetTrackerRequestBus::BroadcastResult(isSaving, &AssetTrackerRequests::IsSaving, fileAssetId);
             AssetTrackerRequestBus::BroadcastResult(isSaving, &AssetTrackerRequests::IsSaving, fileAssetId);
@@ -2876,7 +2876,7 @@ namespace ScriptCanvasEditor
             {
             {
                 SetActiveAsset(fileAssetId);
                 SetActiveAsset(fileAssetId);
 
 
-                // #sc-editor-asset
+                // #se_editor_asset
                 AZStd::string tabName = "Get from widget";
                 AZStd::string tabName = "Get from widget";
                 // AssetTrackerRequestBus::BroadcastResult(tabName, &AssetTrackerRequests::GetTabName, fileAssetId);
                 // AssetTrackerRequestBus::BroadcastResult(tabName, &AssetTrackerRequests::GetTabName, fileAssetId);
 
 
@@ -2885,7 +2885,7 @@ namespace ScriptCanvasEditor
 
 
             if (saveDialogResults == UnsavedChangesOptions::SAVE)
             if (saveDialogResults == UnsavedChangesOptions::SAVE)
             {
             {
-                // #sc-editor-asset
+                // #se_editor_asset
 //                 auto saveCB = [this](bool isSuccessful, AZ::Data::AssetPtr asset, ScriptCanvasEditor::SourceHandle)
 //                 auto saveCB = [this](bool isSuccessful, AZ::Data::AssetPtr asset, ScriptCanvasEditor::SourceHandle)
 //                 {
 //                 {
 //                     if (isSuccessful)
 //                     if (isSuccessful)
@@ -2956,7 +2956,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::CopyPathToClipboard(int /*index*/)
     void MainWindow::CopyPathToClipboard(int /*index*/)
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         /*
         /*
         QVariant tabdata = m_tabBar->tabData(index);
         QVariant tabdata = m_tabBar->tabData(index);
 
 
@@ -3694,7 +3694,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::UpdateSaveState()
     void MainWindow::UpdateSaveState()
     {
     {
-        // #sc-editor-asset todo, consider making blocking
+        // #se_editor_asset todo, consider making blocking
 //         bool enabled = m_activeGraph.IsValid();
 //         bool enabled = m_activeGraph.IsValid();
 //         bool isSaving = false;
 //         bool isSaving = false;
 //         bool hasModifications = false;
 //         bool hasModifications = false;
@@ -3910,7 +3910,7 @@ namespace ScriptCanvasEditor
 
 
     AZ::EntityId MainWindow::FindEditorNodeIdByAssetNodeId(const ScriptCanvasEditor::SourceHandle& /*assetId*/, AZ::EntityId /*assetNodeId*/) const
     AZ::EntityId MainWindow::FindEditorNodeIdByAssetNodeId(const ScriptCanvasEditor::SourceHandle& /*assetId*/, AZ::EntityId /*assetNodeId*/) const
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         return AZ::EntityId{};
         return AZ::EntityId{};
         // AZ::EntityId editorEntityId;
         // AZ::EntityId editorEntityId;
         // AssetTrackerRequestBus::BroadcastResult(editorEntityId, &AssetTrackerRequests::GetEditorEntityIdFromSceneEntityId, assetId, assetNodeId);
         // AssetTrackerRequestBus::BroadcastResult(editorEntityId, &AssetTrackerRequests::GetEditorEntityIdFromSceneEntityId, assetId, assetNodeId);
@@ -3919,7 +3919,7 @@ namespace ScriptCanvasEditor
 
 
     AZ::EntityId MainWindow::FindAssetNodeIdByEditorNodeId(const ScriptCanvasEditor::SourceHandle& /*assetId*/, AZ::EntityId /*editorNodeId*/) const
     AZ::EntityId MainWindow::FindAssetNodeIdByEditorNodeId(const ScriptCanvasEditor::SourceHandle& /*assetId*/, AZ::EntityId /*editorNodeId*/) const
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         return AZ::EntityId{};
         return AZ::EntityId{};
         // AZ::EntityId sceneEntityId;
         // AZ::EntityId sceneEntityId;
         // AssetTrackerRequestBus::BroadcastResult(sceneEntityId, &AssetTrackerRequests::GetSceneEntityIdFromEditorEntityId, assetId, editorNodeId);
         // AssetTrackerRequestBus::BroadcastResult(sceneEntityId, &AssetTrackerRequests::GetSceneEntityIdFromEditorEntityId, assetId, editorNodeId);
@@ -4413,7 +4413,7 @@ namespace ScriptCanvasEditor
 
 
     void MainWindow::OnAssignToSelectedEntities()
     void MainWindow::OnAssignToSelectedEntities()
     {
     {
-        // #sc-editor-asset consider cutting
+        // #se_editor_asset consider cutting
 //         Tracker::ScriptCanvasFileState fileState;
 //         Tracker::ScriptCanvasFileState fileState;
 //         AssetTrackerRequestBus::BroadcastResult(fileState, &AssetTrackerRequests::GetFileState, m_activeGraph);
 //         AssetTrackerRequestBus::BroadcastResult(fileState, &AssetTrackerRequests::GetFileState, m_activeGraph);
 // 
 // 
@@ -4487,7 +4487,7 @@ namespace ScriptCanvasEditor
 
 
     ScriptCanvasEditor::Tracker::ScriptCanvasFileState MainWindow::GetAssetFileState(ScriptCanvasEditor::SourceHandle /*assetId*/) const
     ScriptCanvasEditor::Tracker::ScriptCanvasFileState MainWindow::GetAssetFileState(ScriptCanvasEditor::SourceHandle /*assetId*/) const
     {
     {
-        // #sc-editor-asset
+        // #se_editor_asset
         return Tracker::ScriptCanvasFileState::INVALID;
         return Tracker::ScriptCanvasFileState::INVALID;
         // Tracker::ScriptCanvasFileState fileState = Tracker::ScriptCanvasFileState::INVALID;
         // Tracker::ScriptCanvasFileState fileState = Tracker::ScriptCanvasFileState::INVALID;
         // AssetTrackerRequestBus::BroadcastResult(fileState, &AssetTrackerRequests::GetFileState, assetId);
         // AssetTrackerRequestBus::BroadcastResult(fileState, &AssetTrackerRequests::GetFileState, assetId);
@@ -4540,7 +4540,7 @@ namespace ScriptCanvasEditor
         if (usableRequestBus)
         if (usableRequestBus)
         {
         {
             ScriptCanvasMemoryAsset::pointer memoryAsset;
             ScriptCanvasMemoryAsset::pointer memoryAsset;
-            // #sc-editor-asset
+            // #se_editor_asset
             // AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, m_activeGraph);
             // AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, m_activeGraph);
 
 
             if (memoryAsset)
             if (memoryAsset)

+ 2 - 1
Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/UpgradeHelper.cpp

@@ -99,7 +99,8 @@ namespace ScriptCanvasEditor
 
 
         if (assetId.IsValid())
         if (assetId.IsValid())
         {
         {
-            GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAsset, assetId, -1);
+            // #sc_editor_asset
+            // GeneralRequestBus::BroadcastResult(openOutcome, &GeneralRequests::OpenScriptCanvasAsset, assetId, -1);
         }
         }
 
 
         if (!openOutcome)
         if (!openOutcome)

+ 35 - 0
Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.cpp

@@ -13,10 +13,13 @@
 #include <AzCore/Serialization/SerializeContext.h>
 #include <AzCore/Serialization/SerializeContext.h>
 #include <AzCore/StringFunc/StringFunc.h>
 #include <AzCore/StringFunc/StringFunc.h>
 #include <Editor/Include/ScriptCanvas/Assets/ScriptCanvasBaseAssetData.h>
 #include <Editor/Include/ScriptCanvas/Assets/ScriptCanvasBaseAssetData.h>
+// #include <Editor/Include/ScriptCanvas/Components/EditorGraph.h>
 
 
 #include "Core.h"
 #include "Core.h"
 #include "Attributes.h"
 #include "Attributes.h"
 
 
+#include <Core/Graph.h>
+
 namespace ScriptCanvas
 namespace ScriptCanvas
 {
 {
     ScopedAuxiliaryEntityHandler::ScopedAuxiliaryEntityHandler(AZ::Entity* buildEntity)
     ScopedAuxiliaryEntityHandler::ScopedAuxiliaryEntityHandler(AZ::Entity* buildEntity)
@@ -234,4 +237,36 @@ namespace ScriptCanvasEditor
     {
     {
         return m_path;
         return m_path;
     }
     }
+
+    AZStd::string SourceHandle::ToString() const
+    {
+        return AZStd::string::format
+            ( "%s, %s, %s"
+            , IsValid() ? "O" : "X"
+            , m_path.empty() ? m_path.c_str() : "<no name>"
+            , m_id.IsNull() ? "<null id>" : m_id.ToString<AZStd::string>().c_str());
+    }
+}
+
+namespace ScriptCanvas
+{
+    const Graph* ScriptCanvasData::GetGraph() const
+    {
+        return AZ::EntityUtils::FindFirstDerivedComponent<ScriptCanvas::Graph>(m_scriptCanvasEntity.get());
+    }
+
+    const ScriptCanvasEditor::Graph* ScriptCanvasData::GetEditorGraph() const
+    {
+        return reinterpret_cast<const ScriptCanvasEditor::Graph*>(GetGraph());
+    }
+
+    Graph* ScriptCanvasData::ModGraph()
+    {
+        return AZ::EntityUtils::FindFirstDerivedComponent<ScriptCanvas::Graph>(m_scriptCanvasEntity.get());
+    }
+
+    ScriptCanvasEditor::Graph* ScriptCanvasData::ModEditorGraph()
+    {
+        return reinterpret_cast<ScriptCanvasEditor::Graph*>(ModGraph());
+    }
 }
 }

+ 31 - 0
Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.h

@@ -353,6 +353,37 @@ namespace ScriptCanvasEditor
     };
     };
 }
 }
 
 
+namespace ScriptCanvas
+{
+    class ScriptCanvasData
+    {
+    public:
+
+        AZ_RTTI(ScriptCanvasData, "{1072E894-0C67-4091-8B64-F7DB324AD13C}");
+        AZ_CLASS_ALLOCATOR(ScriptCanvasData, AZ::SystemAllocator, 0);
+        ScriptCanvasData() {}
+        virtual ~ScriptCanvasData() {}
+        ScriptCanvasData(ScriptCanvasData&& other);
+        ScriptCanvasData& operator=(ScriptCanvasData&& other);
+
+        static void Reflect(AZ::ReflectContext* reflectContext);
+
+        AZ::Entity* GetScriptCanvasEntity() const { return m_scriptCanvasEntity.get(); }
+
+        const Graph* GetGraph() const;
+
+        const ScriptCanvasEditor::Graph* GetEditorGraph() const;
+
+        Graph* ModGraph();
+
+        ScriptCanvasEditor::Graph* ModEditorGraph();
+
+        AZStd::unique_ptr<AZ::Entity> m_scriptCanvasEntity;
+    private:
+        ScriptCanvasData(const ScriptCanvasData&) = delete;
+    };
+}
+
 namespace AZStd
 namespace AZStd
 {
 {
     template<>
     template<>