Explorar el Código

it renders!

Signed-off-by: chcurran <[email protected]>
chcurran hace 3 años
padre
commit
12b52044d3

+ 1 - 0
Gems/GraphCanvas/Code/Source/Components/SceneComponent.cpp

@@ -669,6 +669,7 @@ namespace GraphCanvas
     {
         GeometryNotificationBus::Handler::BusDisconnect();
         SceneNotificationBus::Handler::BusDisconnect();
+        AZ::SystemTickBus::Handler::BusDisconnect();
     }
 
     void GestureSceneHelper::TrackElement(const AZ::EntityId& elementId)

+ 5 - 1
Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasFileHandling.cpp

@@ -99,7 +99,11 @@ namespace ScriptCanvasEditor
         }
 
         const auto& asString = fileStringOutcome.GetValue();
-        DataPtr scriptCanvasData = Graph::Create();
+        DataPtr scriptCanvasData = AZStd::make_shared<ScriptCanvas::ScriptCanvasData>();
+        if (!scriptCanvasData)
+        {
+            return AZ::Failure(AZStd::string("failed to allocate ScriptCanvas::ScriptCanvasData after loading source file"));
+        }
         
         AZ::SerializeContext* serializeContext = nullptr;
         AZ::ComponentApplicationBus::BroadcastResult(serializeContext, &AZ::ComponentApplicationRequests::GetSerializeContext);

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

@@ -490,7 +490,7 @@ namespace ScriptCanvasEditor
         EditorGraphRequestBus::Handler::BusDisconnect();
         SceneCounterRequestBus::Handler::BusDisconnect();
         NodeCreationNotificationBus::Handler::BusDisconnect();
-
+        AZ::SystemTickBus::Handler::BusDisconnect();
         GraphCanvas::SceneNotificationBus::Handler::BusDisconnect();
 
         GraphCanvas::GraphModelRequestBus::Handler::BusDisconnect();

+ 1 - 0
Gems/ScriptCanvas/Code/Editor/View/Widgets/GraphTabBar.cpp

@@ -115,6 +115,7 @@ namespace ScriptCanvasEditor
                 CanvasWidget* canvasWidget = new CanvasWidget(assetId, this);
                 canvasWidget->SetDefaultBorderColor(ScriptCanvasAssetDescription().GetDisplayColorImpl());
                 metaData.m_canvasWidget = canvasWidget;
+                metaData.m_assetId = assetId;
                 
                 AZStd::string tabName;
                 AzFramework::StringFunc::Path::GetFileName(assetId.Path().c_str(), tabName);

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

@@ -1278,16 +1278,9 @@ namespace ScriptCanvasEditor
             AddRecentFile(assetPath.c_str());
         }
 
-        if (!m_isRestoringWorkspace)
-        {
-            SetActiveAsset(fileAssetId);
-        }
-
         GraphCanvas::GraphId graphCanvasGraphId = GetGraphCanvasGraphId(scriptCanvasAsset.Get()->GetScriptCanvasId());
         GraphCanvas::AssetEditorNotificationBus::Event(ScriptCanvasEditor::AssetEditorId, &GraphCanvas::AssetEditorNotifications::OnGraphLoaded, graphCanvasGraphId);
-
         GeneralAssetNotificationBus::Event(fileAssetId, &GeneralAssetNotifications::OnAssetVisualized);
-
         return AZ::Success(outTabIndex);
     }
 
@@ -1504,14 +1497,14 @@ namespace ScriptCanvasEditor
         }
 
         m_errorFilePath.clear();
-        m_activeGraph = ScriptCanvasEditor::SourceHandle(outcome.TakeValue(), assetInfo.m_assetId.m_guid, fullPath);
+        auto activeGraph = ScriptCanvasEditor::SourceHandle(outcome.TakeValue(), assetInfo.m_assetId.m_guid, fullPath);
         
-        auto openOutcome = OpenScriptCanvasAsset(m_activeGraph);
+        auto openOutcome = OpenScriptCanvasAsset(activeGraph);
         if (openOutcome)
         {
             RunGraphValidation(false);
-            SetRecentAssetId(m_activeGraph);
-            SetActiveAsset(m_activeGraph);
+            SetActiveAsset(activeGraph);
+            SetRecentAssetId(activeGraph);
         }
         else
         {