add file state for graphs

Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
This commit is contained in:
chcurran
2021-11-04 15:58:19 -07:00
committed by Chris Burel
parent 20147ddafb
commit d40b9fc809
15 changed files with 99 additions and 93 deletions
@@ -1030,14 +1030,16 @@ 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);
}
}
@@ -1047,12 +1049,12 @@ namespace ScriptCanvasEditor
if (AZ::Entity* entity = aznew AZ::Entity("Script Canvas Graph"))
{
auto graph = entity->CreateComponent<ScriptCanvasEditor::Graph>();
graph->SetAssetType(azrtti_typeid<ScriptCanvasAsset>());
entity->CreateComponent<EditorGraphVariableManagerComponent>(graph->GetScriptCanvasId());
if (ScriptCanvas::DataPtr data = AZStd::make_shared<ScriptCanvas::ScriptCanvasData>())
{
data->m_scriptCanvasEntity.reset(entity);
graph->MarkOwnership(*data);
return data;
}
}
@@ -1060,6 +1062,11 @@ namespace ScriptCanvasEditor
return nullptr;
}
void Graph::MarkOwnership(ScriptCanvas::ScriptCanvasData& owner)
{
m_owner = &owner;
}
bool Graph::CreateConnection(const GraphCanvas::ConnectionId& connectionId, const GraphCanvas::Endpoint& sourcePoint, const GraphCanvas::Endpoint& targetPoint)
{
if (!sourcePoint.IsValid() || !targetPoint.IsValid())
@@ -1342,8 +1349,8 @@ namespace ScriptCanvasEditor
void Graph::SignalDirty()
{
// #sc_editor_asset
// GeneralRequestBus::Broadcast(&GeneralRequests::SignalSceneDirty, GetAssetId());
SourceHandle handle(ScriptCanvas::DataPtr(m_owner), {}, {});
GeneralRequestBus::Broadcast(&GeneralRequests::SignalSceneDirty, handle);
}
void Graph::HighlightNodesByType(const ScriptCanvas::NodeTypeIdentifier& nodeTypeIdentifier)
@@ -3374,11 +3381,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());