initial compile of detailed path of change to regular sc files

Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
monroegm-disable-blank-issue-2
chcurran 4 years ago
parent 1b9f6c385d
commit ad6dc8a3bd

@ -122,7 +122,7 @@ namespace ScriptCanvasEditor
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::AssetBrowser;
@ -139,21 +139,22 @@ namespace ScriptCanvasEditor
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:
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());
// }
// } });
}
}

@ -82,30 +82,31 @@ namespace ScriptCanvasEditor
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

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

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

@ -97,7 +97,7 @@ namespace ScriptCanvasEditor
}
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();
}

@ -7,27 +7,4 @@
*/
#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());
}
}

@ -13,31 +13,5 @@
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;
};
}

@ -8,18 +8,16 @@
#pragma once
#include <AzCore/EBus/EBus.h>
#include <AzCore/Component/EntityId.h>
#include <AzCore/Component/Entity.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/Outcome/Outcome.h>
#include <GraphCanvas/Types/Types.h>
#include <ScriptCanvas/Bus/ScriptCanvasBus.h>
#include <ScriptCanvas/Bus/NodeIdPair.h>
#include <ScriptCanvas/Bus/ScriptCanvasBus.h>
#include <ScriptCanvas/Core/Core.h>
#include <ScriptCanvas/Data/Data.h>
class QLineEdit;

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

@ -92,13 +92,11 @@ namespace ScriptCanvasEditor
// 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_assetType(azrtti_typeid<ScriptCanvasAsset>())
{
}
@ -108,24 +106,31 @@ namespace ScriptCanvasEditor
{
AZStd::vector<WorkspaceAssetSaveData> assetSaveData;
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->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);
}
if (rootDataElementNode.GetVersion() < 4)
{
rootDataElementNode.RemoveElementByName(AZ_CRC_CE("ActiveAssetIds"));
rootDataElementNode.RemoveElementByName(AZ_CRC_CE("FocusedAssetId"));
}
return true;
}
@ -135,13 +140,12 @@ namespace ScriptCanvasEditor
if (serialize)
{
serialize->Class<WorkspaceAssetSaveData>()
->Version(1)
->Version(2)
->Field("AssetId", &WorkspaceAssetSaveData::m_assetId)
->Field("AssetType", &WorkspaceAssetSaveData::m_assetType)
;
serialize->Class<EditorWorkspace>()
->Version(3, &EditorWorkspace::VersionConverter)
->Version(4, &EditorWorkspace::VersionConverter)
->Field("m_storedWindowState", &EditorWorkspace::m_storedWindowState)
->Field("m_windowGeometry", &EditorWorkspace::m_windowGeometry)
->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_activeAssetData = activeAssetData;
}
AZ::Data::AssetId EditorWorkspace::GetFocusedAssetId() const
SourceHandle EditorWorkspace::GetFocusedAssetId() const
{
return m_focusedAssetId;
}

@ -11,6 +11,7 @@
#include <AzCore/Asset/AssetCommon.h>
#include <AzCore/Math/Uuid.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'
// qwidget.h(858): warning C4800: 'uint': forcing value to bool 'true' or 'false' (performance warning)

@ -209,7 +209,7 @@ namespace ScriptCanvasEditor
if (!entitiesWithScriptCanvas.empty())
{
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 (const AZ::EntityId& entityId : entitiesWithScriptCanvas)
@ -242,31 +242,32 @@ namespace ScriptCanvasEditor
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();
}
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::AssetBrowser;
@ -312,24 +316,24 @@ namespace ScriptCanvasEditor
{
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()

@ -26,12 +26,7 @@ namespace ScriptCanvasEditor
recentOpenFileLocation = settings.value(SCRIPTCANVASEDITOR_SETTINGS_RECENT_OPEN_FILE_LOCATION_KEY).toString();
settings.endGroup();
if (recentOpenFileLocation.isEmpty())
{
return {};
}
AZ::Data::AssetId assetId(recentOpenFileLocation.toUtf8().constData());
return assetId;
return { nullptr, {}, recentOpenFileLocation.toUtf8().constData() };
}
void SetRecentAssetId(SourceHandle assetId)
@ -39,7 +34,7 @@ namespace ScriptCanvasEditor
QSettings settings(QSettings::IniFormat, QSettings::UserScope,
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.setValue(SCRIPTCANVASEDITOR_SETTINGS_RECENT_OPEN_FILE_LOCATION_KEY,

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

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

@ -44,49 +44,50 @@ namespace ScriptCanvasEditor
connect(this, &QTabBar::customContextMenuRequested, this, &GraphTabBar::OnContextMenu);
}
void GraphTabBar::AddGraphTab(const AZ::Data::AssetId& assetId)
void GraphTabBar::AddGraphTab(ScriptCanvasEditor::SourceHandle 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;
}
bool GraphTabBar::SelectTab(const AZ::Data::AssetId& assetId)
bool GraphTabBar::SelectTab(ScriptCanvasEditor::SourceHandle assetId)
{
int tabIndex = FindTab(assetId);
if (-1 != tabIndex)
@ -97,7 +98,7 @@ namespace ScriptCanvasEditor
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())
{
@ -105,29 +106,32 @@ namespace ScriptCanvasEditor
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));
MemoryAssetNotificationBus::MultiHandler::BusConnect(fileAssetId);
// #se_editor_asset
// MemoryAssetNotificationBus::MultiHandler::BusConnect(fileAssetId);
}
// #se_editor_asset
Tracker::ScriptCanvasFileState fileState = Tracker::ScriptCanvasFileState::INVALID;
AssetTrackerRequestBus::BroadcastResult(fileState, &AssetTrackerRequests::GetFileState, fileAssetId);
// AssetTrackerRequestBus::BroadcastResult(fileState, &AssetTrackerRequests::GetFileState, fileAssetId);
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)
{
QVariant tabDataVariant = tabData(tabIndex);
if (tabDataVariant.isValid())
{
auto tabAssetId = tabDataVariant.value<AZ::Data::AssetId>();
auto tabAssetId = tabDataVariant.value<ScriptCanvasEditor::SourceHandle>();
if (tabAssetId == assetId)
{
return tabIndex;
@ -137,16 +141,16 @@ namespace ScriptCanvasEditor
return -1;
}
AZ::Data::AssetId GraphTabBar::FindAssetId(int tabIndex)
ScriptCanvasEditor::SourceHandle GraphTabBar::FindAssetId(int tabIndex)
{
QVariant dataVariant = tabData(tabIndex);
if (dataVariant.isValid())
{
auto tabAssetId = dataVariant.value<AZ::Data::AssetId>();
auto tabAssetId = dataVariant.value<ScriptCanvasEditor::SourceHandle>();
return tabAssetId;
}
return AZ::Data::AssetId();
return ScriptCanvasEditor::SourceHandle();
}
void GraphTabBar::CloseTab(int index)
@ -263,19 +267,20 @@ namespace ScriptCanvasEditor
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)
@ -329,7 +334,8 @@ namespace ScriptCanvasEditor
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)
{
@ -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>

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

@ -621,50 +621,51 @@ namespace ScriptCanvasEditor
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()
@ -806,7 +807,8 @@ namespace ScriptCanvasEditor
{
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();
@ -828,7 +830,8 @@ namespace ScriptCanvasEditor
if (m_graphCanvasGraphId.IsValid() && m_assetInputEndpoint.IsValid())
{
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;
SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);
@ -851,7 +854,8 @@ namespace ScriptCanvasEditor
if (m_graphCanvasGraphId.IsValid() && m_assetOutputEndpoint.IsValid())
{
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;
SceneMemberMappingRequestBus::EventResult(graphCanvasNodeId, scriptCanvasNodeId, &SceneMemberMappingRequests::GetGraphCanvasEntityId);

@ -405,18 +405,18 @@ namespace ScriptCanvasEditor
{
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>

@ -129,7 +129,8 @@ namespace ScriptCanvasEditor
{
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)
{
GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAsset, GetSourceAssetId(), -1);
return true;
// #sc_editor_asset
// GeneralRequestBus::Broadcast(&GeneralRequests::OpenScriptCanvasAsset, GetSourceAssetId(), -1);
// return true;
}
return false;

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

@ -433,7 +433,7 @@ namespace ScriptCanvasEditor
AZ::Data::AssetId sourceAssetId(sourceUuid, 0);
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)
{
AZ_Warning("Script Canvas", openOutcome, "%s", openOutcome.GetError().data());

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

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

@ -13,10 +13,13 @@
#include <AzCore/Serialization/SerializeContext.h>
#include <AzCore/StringFunc/StringFunc.h>
#include <Editor/Include/ScriptCanvas/Assets/ScriptCanvasBaseAssetData.h>
// #include <Editor/Include/ScriptCanvas/Components/EditorGraph.h>
#include "Core.h"
#include "Attributes.h"
#include <Core/Graph.h>
namespace ScriptCanvas
{
ScopedAuxiliaryEntityHandler::ScopedAuxiliaryEntityHandler(AZ::Entity* buildEntity)
@ -234,4 +237,36 @@ namespace ScriptCanvasEditor
{
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());
}
}

@ -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
{
template<>

Loading…
Cancel
Save