Merging from development

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
This commit is contained in:
Esteban Papp
2021-12-07 12:35:41 -08:00
parent b1eeebb6b6
commit cd5306febf
334 changed files with 9946 additions and 3757 deletions
@@ -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);