Merging from development
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
This commit is contained in:
@@ -77,6 +77,7 @@ AZ_POP_DISABLE_WARNING
|
||||
#include <Libraries/Core/EBusEventHandler.h>
|
||||
#include <Libraries/Core/ReceiveScriptEvent.h>
|
||||
#include <Libraries/Core/ScriptEventBase.h>
|
||||
#include <ScriptCanvas/Assets/ScriptCanvasBaseAssetData.h>
|
||||
#include <Libraries/Core/SendScriptEvent.h>
|
||||
#include <ScriptCanvas/Asset/RuntimeAsset.h>
|
||||
#include <ScriptCanvas/Core/Connection.h>
|
||||
@@ -480,6 +481,7 @@ namespace ScriptCanvasEditor
|
||||
|
||||
ScriptCanvas::Graph::Activate();
|
||||
PostActivate();
|
||||
m_undoHelper.SetSource(this);
|
||||
}
|
||||
|
||||
void Graph::Deactivate()
|
||||
@@ -489,7 +491,7 @@ namespace ScriptCanvasEditor
|
||||
EditorGraphRequestBus::Handler::BusDisconnect();
|
||||
SceneCounterRequestBus::Handler::BusDisconnect();
|
||||
NodeCreationNotificationBus::Handler::BusDisconnect();
|
||||
|
||||
AZ::SystemTickBus::Handler::BusDisconnect();
|
||||
GraphCanvas::SceneNotificationBus::Handler::BusDisconnect();
|
||||
|
||||
GraphCanvas::GraphModelRequestBus::Handler::BusDisconnect();
|
||||
@@ -1029,18 +1031,50 @@ namespace ScriptCanvasEditor
|
||||
{
|
||||
AZStd::any* connectionUserData = nullptr;
|
||||
GraphCanvas::ConnectionRequestBus::EventResult(connectionUserData, connectionId, &GraphCanvas::ConnectionRequests::GetUserData);
|
||||
auto scConnectionId = connectionUserData && connectionUserData->is<AZ::EntityId>() ? *AZStd::any_cast<AZ::EntityId>(connectionUserData) : AZ::EntityId();
|
||||
auto scConnectionId = connectionUserData && connectionUserData->is<AZ::EntityId>()
|
||||
? *AZStd::any_cast<AZ::EntityId>(connectionUserData)
|
||||
: AZ::EntityId();
|
||||
|
||||
ScriptCanvas::Connection* connection = AZ::EntityUtils::FindFirstDerivedComponent<ScriptCanvas::Connection>(scConnectionId);
|
||||
|
||||
if (connection)
|
||||
if (ScriptCanvas::Connection* connection = AZ::EntityUtils::FindFirstDerivedComponent<ScriptCanvas::Connection>(scConnectionId))
|
||||
{
|
||||
ScriptCanvas::GraphNotificationBus::Event(GetScriptCanvasId(), &ScriptCanvas::GraphNotifications::OnDisonnectionComplete, connectionId);
|
||||
|
||||
ScriptCanvas::GraphNotificationBus::Event
|
||||
( GetScriptCanvasId()
|
||||
, &ScriptCanvas::GraphNotifications::OnDisonnectionComplete
|
||||
, connectionId);
|
||||
DisconnectById(scConnectionId);
|
||||
}
|
||||
}
|
||||
|
||||
ScriptCanvas::DataPtr Graph::Create()
|
||||
{
|
||||
if (AZ::Entity* entity = aznew AZ::Entity("Script Canvas Graph"))
|
||||
{
|
||||
auto graph = entity->CreateComponent<ScriptCanvasEditor::Graph>();
|
||||
entity->CreateComponent<EditorGraphVariableManagerComponent>(graph->GetScriptCanvasId());
|
||||
|
||||
if (ScriptCanvas::DataPtr data = aznew ScriptCanvas::ScriptCanvasData())
|
||||
{
|
||||
data->m_scriptCanvasEntity.reset(entity);
|
||||
graph->MarkOwnership(*data);
|
||||
entity->Init();
|
||||
entity->Activate();
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void Graph::MarkOwnership(ScriptCanvas::ScriptCanvasData& owner)
|
||||
{
|
||||
m_owner = &owner;
|
||||
}
|
||||
|
||||
ScriptCanvas::DataPtr Graph::GetOwnership() const
|
||||
{
|
||||
return const_cast<Graph*>(this)->m_owner;
|
||||
}
|
||||
|
||||
bool Graph::CreateConnection(const GraphCanvas::ConnectionId& connectionId, const GraphCanvas::Endpoint& sourcePoint, const GraphCanvas::Endpoint& targetPoint)
|
||||
{
|
||||
if (!sourcePoint.IsValid() || !targetPoint.IsValid())
|
||||
@@ -1323,7 +1357,8 @@ namespace ScriptCanvasEditor
|
||||
|
||||
void Graph::SignalDirty()
|
||||
{
|
||||
GeneralRequestBus::Broadcast(&GeneralRequests::SignalSceneDirty, GetAssetId());
|
||||
SourceHandle handle(m_owner, {}, {});
|
||||
GeneralRequestBus::Broadcast(&GeneralRequests::SignalSceneDirty, handle);
|
||||
}
|
||||
|
||||
void Graph::HighlightNodesByType(const ScriptCanvas::NodeTypeIdentifier& nodeTypeIdentifier)
|
||||
@@ -3354,11 +3389,6 @@ namespace ScriptCanvasEditor
|
||||
}
|
||||
}
|
||||
|
||||
void Graph::SetAssetType(AZ::Data::AssetType assetType)
|
||||
{
|
||||
m_assetType = assetType;
|
||||
}
|
||||
|
||||
void Graph::ReportError(const ScriptCanvas::Node& node, const AZStd::string& errorSource, const AZStd::string& errorMessage)
|
||||
{
|
||||
AzQtComponents::ToastConfiguration toastConfiguration(AzQtComponents::ToastType::Error, errorSource.c_str(), errorMessage.c_str());
|
||||
@@ -3463,7 +3493,7 @@ namespace ScriptCanvasEditor
|
||||
m_focusHelper.SetActiveGraph(GetGraphCanvasGraphId());
|
||||
}
|
||||
|
||||
bool Graph::UpgradeGraph(const AZ::Data::Asset<AZ::Data::AssetData>& asset, UpgradeRequest request, bool isVerbose)
|
||||
bool Graph::UpgradeGraph(SourceHandle& asset, UpgradeRequest request, bool isVerbose)
|
||||
{
|
||||
m_upgradeSM.SetAsset(asset);
|
||||
m_upgradeSM.SetVerbose(isVerbose);
|
||||
|
||||
Reference in New Issue
Block a user