Git MainWindow.cpp to point where it compiles, and reveals the radius of changes for everything to work without assets

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

@ -22,6 +22,9 @@ namespace ScriptCanvasEditor
{
class ScriptCanvasMemoryAsset;
// MOVE THIS MOSTLY TO TAB BAR, MAIN WINDOW AND THE CANVAS WIDGET
// This class tracks all things related to the assets that the Script Canvas editor
// has in play. It also provides helper functionality to quickly getting asset information
// from GraphCanvas

@ -7,55 +7,3 @@
*/
#include <Editor/Include/ScriptCanvas/Assets/ScriptCanvasSourceFileHandle.h>
#include <Editor/Include/ScriptCanvas/Assets/ScriptCanvasBaseAssetData.h>
namespace ScriptCanvasEditor
{
SourceHandle::SourceHandle(ScriptCanvas::DataPtr graph, const AZ::Uuid& id, AZStd::string_view path)
: m_data(graph)
, m_id(id)
, m_path(path)
{}
void SourceHandle::Clear()
{
m_data = nullptr;
m_id = AZ::Uuid::CreateNull();
m_path.clear();
}
GraphPtrConst SourceHandle::Get() const
{
return m_data ? m_data->GetEditorGraph() : nullptr;
}
const AZ::Uuid& SourceHandle::Id() const
{
return m_id;
}
bool SourceHandle::IsValid() const
{
return *this;
}
GraphPtr SourceHandle::Mod() const
{
return m_data ? m_data->ModEditorGraph() : nullptr;
}
SourceHandle::operator bool() const
{
return m_data != nullptr;
}
bool SourceHandle::operator!() const
{
return m_data == nullptr;
}
const AZStd::string& SourceHandle::Path() const
{
return m_path;
}
}

@ -8,40 +8,3 @@
#pragma once
#include <AzCore/Math/Uuid.h>
#include <ScriptCanvas/Core/Core.h>
namespace ScriptCanvasEditor
{
class SourceHandle
{
public:
AZ_TYPE_INFO(SourceHandle, "{65855A98-AE2F-427F-BFC8-69D45265E312}");
AZ_CLASS_ALLOCATOR(SourceHandle, AZ::SystemAllocator, 0);
SourceHandle() = default;
SourceHandle(ScriptCanvas::DataPtr graph, const AZ::Uuid& id, AZStd::string_view path);
void Clear();
GraphPtrConst Get() const;
const AZ::Uuid& Id() const;
bool IsValid() const;
GraphPtr Mod() const;
operator bool() const;
bool operator!() const;
const AZStd::string& Path() const;
private:
ScriptCanvas::DataPtr m_data;
AZ::Uuid m_id = AZ::Uuid::CreateNull();
AZStd::string m_path;
};
}

@ -121,8 +121,6 @@ namespace ScriptCanvasEditor
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById;
using BusIdType = ScriptCanvas::ScriptCanvasId;
virtual void SetAssetId(const AZ::Data::AssetId& assetId) = 0;
virtual void CreateGraphCanvasScene() = 0;
virtual void ClearGraphCanvasScene() = 0;
virtual GraphCanvas::GraphId GetGraphCanvasGraphId() const = 0;

@ -70,16 +70,16 @@ namespace ScriptCanvasEditor
//! Opens an existing graph and returns the tab index in which it was open in.
//! \param File AssetId
//! \return index of open tab if the asset was able to be open successfully or error message of why the open failed
virtual AZ::Outcome<int, AZStd::string> OpenScriptCanvasAsset(AZ::Data::AssetId scriptCanvasAssetId, int tabIndex = -1) = 0;
virtual AZ::Outcome<int, AZStd::string> OpenScriptCanvasAssetId(const AZ::Data::AssetId& scriptCanvasAsset) = 0;
virtual AZ::Outcome<int, AZStd::string> OpenScriptCanvasAsset(SourceHandle scriptCanvasAssetId, int tabIndex = -1) = 0;
virtual AZ::Outcome<int, AZStd::string> OpenScriptCanvasAssetId(const SourceHandle& scriptCanvasAsset) = 0;
virtual int CloseScriptCanvasAsset(const AZ::Data::AssetId&) = 0;
virtual int CloseScriptCanvasAsset(const SourceHandle&) = 0;
virtual bool CreateScriptCanvasAssetFor(const TypeDefs::EntityComponentId& requestingComponent) = 0;
virtual bool IsScriptCanvasAssetOpen(const AZ::Data::AssetId& assetId) const = 0;
virtual bool IsScriptCanvasAssetOpen(const SourceHandle& assetId) const = 0;
virtual void OnChangeActiveGraphTab(AZ::Data::AssetId) {}
virtual void OnChangeActiveGraphTab(SourceHandle) {}
virtual void CreateNewRuntimeAsset() = 0;
@ -103,12 +103,12 @@ namespace ScriptCanvasEditor
return ScriptCanvas::ScriptCanvasId();
}
virtual GraphCanvas::GraphId FindGraphCanvasGraphIdByAssetId([[maybe_unused]] const AZ::Data::AssetId& assetId) const
virtual GraphCanvas::GraphId FindGraphCanvasGraphIdByAssetId([[maybe_unused]] const SourceHandle& assetId) const
{
return GraphCanvas::GraphId();
}
virtual ScriptCanvas::ScriptCanvasId FindScriptCanvasIdByAssetId([[maybe_unused]] const AZ::Data::AssetId& assetId) const
virtual ScriptCanvas::ScriptCanvasId FindScriptCanvasIdByAssetId([[maybe_unused]] const SourceHandle& assetId) const
{
return ScriptCanvas::ScriptCanvasId();
}

@ -141,7 +141,7 @@ namespace ScriptCanvasEditor
////
// RuntimeBus
AZ::Data::AssetId GetAssetId() const override { return m_assetId; }
//AZ::Data::AssetId GetAssetId() const override { return m_assetId; }
////
// GraphCanvas::GraphModelRequestBus
@ -224,7 +224,7 @@ namespace ScriptCanvasEditor
///////////////////////////
// EditorGraphRequestBus
void SetAssetId(const AZ::Data::AssetId& assetId) override { m_assetId = assetId; }
// void SetAssetId(const AZ::Data::AssetId& assetId) override { m_assetId = assetId; }
void CreateGraphCanvasScene() override;
void ClearGraphCanvasScene() override;
@ -392,6 +392,6 @@ namespace ScriptCanvasEditor
//! Defaults to true to signal that this graph does not have the GraphCanvas stuff intermingled
bool m_saveFormatConverted = true;
AZ::Data::AssetId m_assetId;
ScriptCanvasEditor::SourceHandle m_assetId;
};
}

@ -11,11 +11,13 @@ AZ_PUSH_DISABLE_WARNING(4251 4800 4244, "-Wunknown-warning-option")
#include <QMetaType>
AZ_POP_DISABLE_WARNING
#include <ScriptCanvas/Core/Core.h>
#include <ScriptCanvas/Data/Data.h>
#include <ScriptCanvas/Variable/VariableCore.h>
// VariableId is a UUID typedef for now. So we don't want to double reflect the UUID.
Q_DECLARE_METATYPE(AZ::Uuid);
Q_DECLARE_METATYPE(AZ::Data::AssetId);
Q_DECLARE_METATYPE(ScriptCanvas::Data::Type);
Q_DECLARE_METATYPE(ScriptCanvas::VariableId);
Q_DECLARE_METATYPE(ScriptCanvasEditor::SourceHandle);

@ -53,11 +53,10 @@ namespace ScriptCanvasEditor
AZ_RTTI(WorkspaceAssetSaveData, "{927368CA-096F-4CF1-B2E0-1B9E4A93EA57}");
WorkspaceAssetSaveData();
WorkspaceAssetSaveData(const AZ::Data::AssetId& assetId);
WorkspaceAssetSaveData(SourceHandle assetId);
virtual ~WorkspaceAssetSaveData() = default;
AZ::Data::AssetId m_assetId;
AZ::Data::AssetType m_assetType;
SourceHandle m_assetId;
};
@ -69,9 +68,9 @@ namespace ScriptCanvasEditor
EditorWorkspace() = default;
void ConfigureActiveAssets(AZ::Data::AssetId focusedAssetId, const AZStd::vector< WorkspaceAssetSaveData >& activeAssetIds);
void ConfigureActiveAssets(SourceHandle focusedAsset, const AZStd::vector< WorkspaceAssetSaveData >& activeAssetIds);
AZ::Data::AssetId GetFocusedAssetId() const;
SourceHandle GetFocusedAssetId() const;
AZStd::vector< WorkspaceAssetSaveData > GetActiveAssetData() const;
void Init(const QByteArray& windowState, const QByteArray& windowGeometry);
@ -79,7 +78,7 @@ namespace ScriptCanvasEditor
void Clear()
{
m_focusedAssetId.SetInvalid();
m_focusedAssetId.Clear();
m_activeAssetData.clear();
}
@ -91,7 +90,7 @@ namespace ScriptCanvasEditor
AZStd::vector<AZ::u8> m_windowGeometry;
AZStd::vector<AZ::u8> m_windowState;
AZ::Data::AssetId m_focusedAssetId;
SourceHandle m_focusedAssetId;
AZStd::vector< WorkspaceAssetSaveData > m_activeAssetData;
};

@ -15,7 +15,7 @@
namespace ScriptCanvasEditor
{
AZ::Data::AssetId ReadRecentAssetId()
SourceHandle ReadRecentAssetId()
{
QSettings settings(QSettings::IniFormat, QSettings::UserScope,
SCRIPTCANVASEDITOR_AZ_QCOREAPPLICATION_SETTINGS_ORGANIZATION_NAME);
@ -34,7 +34,7 @@ namespace ScriptCanvasEditor
return assetId;
}
void SetRecentAssetId(const AZ::Data::AssetId& assetId)
void SetRecentAssetId(SourceHandle assetId)
{
QSettings settings(QSettings::IniFormat, QSettings::UserScope,
SCRIPTCANVASEDITOR_AZ_QCOREAPPLICATION_SETTINGS_ORGANIZATION_NAME);

@ -11,7 +11,7 @@
namespace ScriptCanvasEditor
{
AZ::Data::AssetId ReadRecentAssetId();
void SetRecentAssetId(const AZ::Data::AssetId& assetId);
SourceHandle ReadRecentAssetId();
void SetRecentAssetId(SourceHandle assetId);
void ClearRecentAssetId();
}

@ -11,14 +11,16 @@
#include <AzCore/Asset/AssetCommon.h>
#include <AzCore/Math/Uuid.h>
#include <AzCore/EBus/EBus.h>
#include <Core/Core.h>
namespace ScriptCanvasEditor
{
// #sc-editor-asset remove this
class AssetGraphScene : public AZ::EBusTraits
{
public:
virtual AZ::EntityId FindEditorNodeIdByAssetNodeId(const AZ::Data::AssetId& assetId, AZ::EntityId assetNodeId) const = 0;
virtual AZ::EntityId FindAssetNodeIdByEditorNodeId(const AZ::Data::AssetId& assetId, AZ::EntityId editorNodeId) const = 0;
virtual AZ::EntityId FindEditorNodeIdByAssetNodeId(const SourceHandle& assetId, AZ::EntityId assetNodeId) const = 0;
virtual AZ::EntityId FindAssetNodeIdByEditorNodeId(const SourceHandle& assetId, AZ::EntityId editorNodeId) const = 0;
};
using AssetGraphSceneBus = AZ::EBus<AssetGraphScene>;

@ -45,14 +45,14 @@ namespace ScriptCanvasEditor
GraphTabBar(QWidget* parent = nullptr);
~GraphTabBar() override = default;
void AddGraphTab(const AZ::Data::AssetId& assetId);
int InsertGraphTab(int tabIndex, const AZ::Data::AssetId& assetId);
bool SelectTab(const AZ::Data::AssetId& assetId);
void AddGraphTab(ScriptCanvasEditor::SourceHandle assetId);
int InsertGraphTab(int tabIndex, ScriptCanvasEditor::SourceHandle assetId);
bool SelectTab(ScriptCanvasEditor::SourceHandle assetId);
void ConfigureTab(int tabIndex, AZ::Data::AssetId fileAssetId, const AZStd::string& tabName);
void ConfigureTab(int tabIndex, ScriptCanvasEditor::SourceHandle fileAssetId, const AZStd::string& tabName);
int FindTab(const AZ::Data::AssetId& assetId) const;
AZ::Data::AssetId FindAssetId(int tabIndex);
int FindTab(ScriptCanvasEditor::SourceHandle assetId) const;
ScriptCanvasEditor::SourceHandle FindAssetId(int tabIndex);
void CloseTab(int index);
void CloseAllTabs();
@ -92,7 +92,7 @@ namespace ScriptCanvasEditor
// Called when the selected tab changes
void currentChangedTab(int index);
void SetFileState(AZ::Data::AssetId assetId, Tracker::ScriptCanvasFileState fileState);
void SetFileState(ScriptCanvasEditor::SourceHandle, Tracker::ScriptCanvasFileState fileState);
int m_signalSaveOnChangeTo = -1;
};

File diff suppressed because it is too large Load Diff

@ -417,17 +417,17 @@ namespace ScriptCanvasEditor
void CloseNextTab();
bool IsTabOpen(const ScriptCanvasEditor::SourceHandle& assetId, int& outTabIndex) const;
QVariant GetTabData(const ScriptCanvasEditor::SourceHandle& assetId);
bool IsTabOpen(const SourceHandle& assetId, int& outTabIndex) const;
QVariant GetTabData(const SourceHandle& assetId);
//! GeneralRequestBus
AZ::Outcome<int, AZStd::string> OpenScriptCanvasAssetId(const ScriptCanvasEditor::SourceHandle& assetId) override;
AZ::Outcome<int, AZStd::string> OpenScriptCanvasAsset(ScriptCanvasEditor::SourceHandle scriptCanvasAssetId, int tabIndex = -1) override;
AZ::Outcome<int, AZStd::string> OpenScriptCanvasAssetId(const SourceHandle& assetId) override;
AZ::Outcome<int, AZStd::string> OpenScriptCanvasAsset(SourceHandle scriptCanvasAssetId, int tabIndex = -1) override;
AZ::Outcome<int, AZStd::string> OpenScriptCanvasAsset(const ScriptCanvasMemoryAsset& scriptCanvasAsset, int tabIndex = -1);
int CloseScriptCanvasAsset(const ScriptCanvasEditor::SourceHandle& assetId) override;
int CloseScriptCanvasAsset(const SourceHandle& assetId) override;
bool CreateScriptCanvasAssetFor(const TypeDefs::EntityComponentId& requestingEntityId) override;
bool IsScriptCanvasAssetOpen(const ScriptCanvasEditor::SourceHandle& assetId) const override;
bool IsScriptCanvasAssetOpen(const SourceHandle& assetId) const override;
const CategoryInformation* FindNodePaletteCategoryInformation(AZStd::string_view categoryPath) const override;
const NodePaletteModelInformation* FindNodePaletteModelInformation(const ScriptCanvas::NodeTypeIdentifier& nodeType) const override;
@ -627,15 +627,7 @@ namespace ScriptCanvasEditor
ScriptCanvasEditor::SourceHandle GetSourceAssetId(const ScriptCanvasEditor::SourceHandle& memoryAssetId) const
{
ScriptCanvasMemoryAsset::pointer memoryAsset;
AssetTrackerRequestBus::BroadcastResult(memoryAsset, &AssetTrackerRequests::GetAsset, memoryAssetId);
if (memoryAsset)
{
return memoryAsset->GetFileAssetId();
}
return ScriptCanvasEditor::SourceHandle();
return memoryAssetId;
}
int InsertTabForAsset(AZStd::string_view assetPath, ScriptCanvasEditor::SourceHandle assetId, int tabIndex = -1);

@ -12,6 +12,7 @@
#include <AzCore/RTTI/ReflectContext.h>
#include <AzCore/Serialization/SerializeContext.h>
#include <AzCore/StringFunc/StringFunc.h>
#include <Editor/Include/ScriptCanvas/Assets/ScriptCanvasBaseAssetData.h>
#include "Core.h"
#include "Attributes.h"
@ -182,5 +183,55 @@ namespace ScriptCanvas
serializeContext->RegisterType(typeId, AZStd::move(classData), EventPlaceholderAnyCreator);
}
}
namespace ScriptCanvasEditor
{
SourceHandle::SourceHandle(ScriptCanvas::DataPtr graph, const AZ::Uuid& id, AZStd::string_view path)
: m_data(graph)
, m_id(id)
, m_path(path)
{}
void SourceHandle::Clear()
{
m_data = nullptr;
m_id = AZ::Uuid::CreateNull();
m_path.clear();
}
GraphPtrConst SourceHandle::Get() const
{
return m_data ? m_data->GetEditorGraph() : nullptr;
}
const AZ::Uuid& SourceHandle::Id() const
{
return m_id;
}
bool SourceHandle::IsValid() const
{
return *this;
}
GraphPtr SourceHandle::Mod() const
{
return m_data ? m_data->ModEditorGraph() : nullptr;
}
SourceHandle::operator bool() const
{
return m_data != nullptr;
}
bool SourceHandle::operator!() const
{
return m_data == nullptr;
}
const AZStd::string& SourceHandle::Path() const
{
return m_path;
}
}

@ -20,7 +20,7 @@
#include <AzCore/std/hash.h>
#include <AzCore/Component/EntityUtils.h>
#include <AzCore/Component/NamedEntityId.h>
#include <AzCore/Math/Uuid.h>
#include <Core/NamedId.h>
#include <ScriptCanvas/Grammar/PrimitivesDeclarations.h>
@ -318,7 +318,39 @@ namespace ScriptCanvasEditor
using GraphPtr = Graph*;
using GraphPtrConst = const Graph*;
class SourceHandle;
class SourceHandle
{
public:
AZ_TYPE_INFO(SourceHandle, "{65855A98-AE2F-427F-BFC8-69D45265E312}");
AZ_CLASS_ALLOCATOR(SourceHandle, AZ::SystemAllocator, 0);
SourceHandle() = default;
SourceHandle(ScriptCanvas::DataPtr graph, const AZ::Uuid& id, AZStd::string_view path);
void Clear();
GraphPtrConst Get() const;
const AZ::Uuid& Id() const;
bool IsValid() const;
GraphPtr Mod() const;
operator bool() const;
bool operator!() const;
const AZStd::string& Path() const;
AZStd::string ToString() const;
private:
ScriptCanvas::DataPtr m_data;
AZ::Uuid m_id = AZ::Uuid::CreateNull();
AZStd::string m_path;
};
}
namespace AZStd

Loading…
Cancel
Save