basic refactor of assets (#6467)

Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
monroegm-disable-blank-issue-2
carlitosan 4 years ago committed by GitHub
parent 2ddf55474e
commit 9c7a558ccb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -59,7 +59,7 @@ namespace ScriptCanvasBuilder
CorrectGraphVariableVersion,
ReflectEntityIdNodes,
FixExecutionStateNodeableConstruction,
SwitchAssetsToBinary,
// add new entries above
Current,
};

@ -521,7 +521,7 @@ namespace ScriptCanvasBuilder
{
AZ::Data::Asset<ScriptCanvas::SubgraphInterfaceAsset> runtimeAsset;
runtimeAsset.Create(AZ::Data::AssetId(input.assetID.m_guid, AZ_CRC("SubgraphInterface", 0xdfe6dc72)));
runtimeAsset.Get()->SetData(subgraphInterface);
runtimeAsset.Get()->m_interfaceData = subgraphInterface;
AZStd::vector<AZ::u8> byteBuffer;
AZ::IO::ByteContainerStream<decltype(byteBuffer)> byteStream(&byteBuffer);
@ -557,7 +557,7 @@ namespace ScriptCanvasBuilder
{
AZ::Data::Asset<ScriptCanvas::RuntimeAsset> runtimeAsset;
runtimeAsset.Create(AZ::Data::AssetId(input.assetID.m_guid, AZ_CRC("RuntimeData", 0x163310ae)));
runtimeAsset.Get()->SetData(runtimeData);
runtimeAsset.Get()->m_runtimeData = runtimeData;
AZStd::vector<AZ::u8> byteBuffer;
AZ::IO::ByteContainerStream<decltype(byteBuffer)> byteStream(&byteBuffer);

@ -41,6 +41,7 @@ namespace EditorScriptCanvasComponentCpp
PrefabIntegration = 10,
InternalDev,
AddSourceHandle,
RefactorAssets,
// add description above
Current
};

@ -30,8 +30,8 @@ namespace ScriptCanvasEditor
// over to the override data to simulate build step that does this when building prefabs
AZ_INLINE void CopyAssetEntityIdsToOverrides(RuntimeDataOverrides& runtimeDataOverrides)
{
runtimeDataOverrides.m_entityIds.reserve(runtimeDataOverrides.m_runtimeAsset->GetData().m_input.m_entityIds.size());
for (auto& varEntityPar : runtimeDataOverrides.m_runtimeAsset->GetData().m_input.m_entityIds)
runtimeDataOverrides.m_entityIds.reserve(runtimeDataOverrides.m_runtimeAsset->m_runtimeData.m_input.m_entityIds.size());
for (auto& varEntityPar : runtimeDataOverrides.m_runtimeAsset->m_runtimeData.m_input.m_entityIds)
{
runtimeDataOverrides.m_entityIds.push_back(varEntityPar.second);
}
@ -281,14 +281,14 @@ namespace ScriptCanvasEditor
#endif //////////////////////////////////////////////////////////////////////////////////////
loadResult.m_scriptAsset = luaAssetResult.m_scriptAsset;
loadResult.m_runtimeAsset.Get()->GetData().m_script = loadResult.m_scriptAsset;
loadResult.m_runtimeAsset.Get()->GetData().m_input = luaAssetResult.m_runtimeInputs;
loadResult.m_runtimeAsset.Get()->GetData().m_debugMap = luaAssetResult.m_debugMap;
loadResult.m_runtimeAsset.Get()->m_runtimeData.m_script = loadResult.m_scriptAsset;
loadResult.m_runtimeAsset.Get()->m_runtimeData.m_input = luaAssetResult.m_runtimeInputs;
loadResult.m_runtimeAsset.Get()->m_runtimeData.m_debugMap = luaAssetResult.m_debugMap;
loadResult.m_runtimeComponent = loadResult.m_entity->CreateComponent<ScriptCanvas::RuntimeComponent>();
CopyAssetEntityIdsToOverrides(runtimeDataOverrides);
loadResult.m_runtimeComponent->TakeRuntimeDataOverrides(AZStd::move(runtimeDataOverrides));
Execution::Context::InitializeActivationData(loadResult.m_runtimeAsset->GetData());
Execution::InitializeInterpretedStatics(loadResult.m_runtimeAsset->GetData());
Execution::Context::InitializeActivationData(loadResult.m_runtimeAsset->m_runtimeData);
Execution::InitializeInterpretedStatics(loadResult.m_runtimeAsset->m_runtimeData);
}
else
{

@ -932,7 +932,7 @@ namespace ScriptCanvasEditor::Nodes
if (asset)
{
GraphCanvas::NodeTitleRequestBus::Event(graphCanvasNodeId, &GraphCanvas::NodeTitleRequests::SetTitle, asset->GetData().m_name);
GraphCanvas::NodeTitleRequestBus::Event(graphCanvasNodeId, &GraphCanvas::NodeTitleRequests::SetTitle, asset->m_interfaceData.m_name);
}
GraphCanvas::NodeTitleRequestBus::Event(graphCanvasNodeId, &GraphCanvas::NodeTitleRequests::SetPaletteOverride, "MethodNodeTitlePalette");

@ -456,7 +456,7 @@ namespace ScriptCanvasEditor
return;
}
if (!data->m_runtimeData.m_interface.HasAnyFunctionality())
if (!data->m_interfaceData.m_interface.HasAnyFunctionality())
{
// check for deleting the old entry
return;
@ -517,7 +517,7 @@ namespace ScriptCanvasEditor
return;
}
const ScriptCanvas::Grammar::SubgraphInterface& graphInterface = data->m_runtimeData.m_interface;
const ScriptCanvas::Grammar::SubgraphInterface& graphInterface = data->m_interfaceData.m_interface;
if (!graphInterface.HasAnyFunctionality())
{
return;
@ -566,7 +566,7 @@ namespace ScriptCanvasEditor
return;
}
const ScriptCanvas::Grammar::SubgraphInterface& graphInterface = data->m_runtimeData.m_interface;
const ScriptCanvas::Grammar::SubgraphInterface& graphInterface = data->m_interfaceData.m_interface;
if (!graphInterface.HasAnyFunctionality())
{
return;

@ -11,7 +11,7 @@
#include <AzCore/Component/Entity.h>
#include <AzCore/Asset/AssetSerializer.h>
namespace ScriptCanvasRuntimeAssetCpp
namespace DoNotVersionRuntimeAssetsBumpTheBuilderVersionInstead
{
enum class RuntimeDataVersion
{
@ -72,7 +72,7 @@ namespace ScriptCanvas
if (auto serializeContext = azrtti_cast<AZ::SerializeContext*>(reflectContext))
{
serializeContext->Class<RuntimeData>()
->Version(static_cast<int>(ScriptCanvasRuntimeAssetCpp::RuntimeDataVersion::Current))
->Version(static_cast<int>(DoNotVersionRuntimeAssetsBumpTheBuilderVersionInstead::RuntimeDataVersion::Current))
->Field("input", &RuntimeData::m_input)
->Field("debugMap", &RuntimeData::m_debugMap)
->Field("script", &RuntimeData::m_script)
@ -146,7 +146,7 @@ namespace ScriptCanvas
if (auto serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
{
serializeContext->Class<RuntimeDataOverrides>()
->Version(static_cast<unsigned int>(ScriptCanvasRuntimeAssetCpp::RuntimeDataOverridesVersion::Current))
->Version(static_cast<unsigned int>(DoNotVersionRuntimeAssetsBumpTheBuilderVersionInstead::RuntimeDataOverridesVersion::Current))
->Field("runtimeAsset", &RuntimeDataOverrides::m_runtimeAsset)
->Field("variables", &RuntimeDataOverrides::m_variables)
->Field("variableIndices", &RuntimeDataOverrides::m_variableIndices)
@ -195,7 +195,7 @@ namespace ScriptCanvas
if (auto serializeContext = azrtti_cast<AZ::SerializeContext*>(reflectContext))
{
serializeContext->Class<SubgraphInterfaceData>()
->Version(static_cast<int>(ScriptCanvasRuntimeAssetCpp::FunctionRuntimeDataVersion::Current))
->Version(static_cast<int>(DoNotVersionRuntimeAssetsBumpTheBuilderVersionInstead::FunctionRuntimeDataVersion::Current))
->Field("name", &SubgraphInterfaceData::m_name)
->Field("interface", &SubgraphInterfaceData::m_interface)
;

@ -106,65 +106,20 @@ namespace ScriptCanvas
void EnforcePreloadBehavior();
};
class RuntimeAssetBase
class RuntimeAsset
: public AZ::Data::AssetData
{
public:
AZ_RTTI(RuntimeAssetBase, "{19BAD220-E505-4443-AA95-743106748F37}", AZ::Data::AssetData);
AZ_CLASS_ALLOCATOR(RuntimeAssetBase, AZ::SystemAllocator, 0);
RuntimeAssetBase(const AZ::Data::AssetId& assetId = AZ::Data::AssetId(), AZ::Data::AssetData::AssetStatus status = AZ::Data::AssetData::AssetStatus::NotLoaded)
: AZ::Data::AssetData(assetId, status)
{
}
};
template <typename DataType>
class RuntimeAssetTyped
: public RuntimeAssetBase
{
public:
AZ_RTTI(RuntimeAssetBase, "{C925213E-A1FA-4487-831F-9551A984700E}", RuntimeAssetBase);
AZ_CLASS_ALLOCATOR(RuntimeAssetBase, AZ::SystemAllocator, 0);
RuntimeAssetTyped(const AZ::Data::AssetId& assetId = AZ::Data::AssetId(), AZ::Data::AssetData::AssetStatus status = AZ::Data::AssetData::AssetStatus::NotLoaded)
: RuntimeAssetBase(assetId, status)
{
}
AZ_RTTI(RuntimeAsset, "{3E2AC8CD-713F-453E-967F-29517F331784}", AZ::Data::AssetData);
static const char* GetFileExtension() { return "scriptcanvas_compiled"; }
static const char* GetFileFilter() { return "*.scriptcanvas_compiled"; }
const DataType& GetData() const { return m_runtimeData; }
DataType& GetData() { return m_runtimeData; }
void SetData(const DataType& runtimeData)
{
m_runtimeData = runtimeData;
// When setting data instead of serializing, immediately mark the asset as ready.
m_status = AZ::Data::AssetData::AssetStatus::Ready;
}
DataType m_runtimeData;
protected:
friend class RuntimeAssetHandler;
RuntimeAssetTyped(const RuntimeAssetTyped&) = delete;
};
class RuntimeAsset : public RuntimeAssetTyped<RuntimeData>
{
public:
AZ_RTTI(RuntimeAsset, "{3E2AC8CD-713F-453E-967F-29517F331784}", RuntimeAssetTyped<RuntimeData>);
RuntimeData m_runtimeData;
RuntimeAsset(const AZ::Data::AssetId& assetId = AZ::Data::AssetId(), AZ::Data::AssetData::AssetStatus status = AZ::Data::AssetData::AssetStatus::NotLoaded)
: RuntimeAssetTyped<RuntimeData>(assetId, status)
{
}
: AZ::Data::AssetData(assetId, status)
{}
};
class SubgraphInterfaceAsset;
@ -212,24 +167,19 @@ namespace ScriptCanvas
};
class SubgraphInterfaceAsset
: public RuntimeAssetTyped<SubgraphInterfaceData>
: public AZ::Data::AssetData
{
public:
AZ_RTTI(SubgraphInterfaceAsset, "{E22967AC-7673-4778-9125-AF49D82CAF9F}", RuntimeAssetTyped<SubgraphInterfaceData>);
AZ_RTTI(SubgraphInterfaceAsset, "{E22967AC-7673-4778-9125-AF49D82CAF9F}", AZ::Data::AssetData);
AZ_CLASS_ALLOCATOR(SubgraphInterfaceAsset, AZ::SystemAllocator, 0);
SubgraphInterfaceAsset(const AZ::Data::AssetId& assetId = AZ::Data::AssetId(), AZ::Data::AssetData::AssetStatus status = AZ::Data::AssetData::AssetStatus::NotLoaded)
: RuntimeAssetTyped<SubgraphInterfaceData>(assetId, status)
{}
void SetData(const SubgraphInterfaceData& runtimeData)
{
m_runtimeData = runtimeData;
}
static const char* GetFileExtension() { return "scriptcanvas_fn_compiled"; }
static const char* GetFileFilter() { return "*.scriptcanvas_fn_compiled"; }
friend class SubgraphInterfaceAssetHandler;
SubgraphInterfaceData m_interfaceData;
SubgraphInterfaceAsset(const AZ::Data::AssetId& assetId = AZ::Data::AssetId(), AZ::Data::AssetData::AssetStatus status = AZ::Data::AssetData::AssetStatus::NotLoaded)
: AZ::Data::AssetData(assetId, status)
{}
};
}

@ -81,7 +81,6 @@ namespace ScriptCanvas
{
(void)type;
AZ_Assert(type == AZ::AzTypeInfo<RuntimeAsset>::Uuid(), "This handler deals only with the Script Canvas Runtime Asset type!");
return aznew RuntimeAsset(id);
}
@ -93,7 +92,7 @@ namespace ScriptCanvas
{
RuntimeAsset* runtimeAsset = asset.GetAs<RuntimeAsset>();
AZ_Assert(runtimeAsset, "RuntimeAssetHandler::InitAsset This should be a Script Canvas runtime asset, as this is the only type this handler processes!");
Execution::Context::InitializeActivationData(runtimeAsset->GetData());
Execution::Context::InitializeActivationData(runtimeAsset->m_runtimeData);
}
}
@ -116,7 +115,10 @@ namespace ScriptCanvas
AZ_Assert(runtimeAsset, "This should be a Script Canvas runtime asset, as this is the only type we process!");
if (runtimeAsset && m_serializeContext)
{
AZ::ObjectStream* binaryObjStream = AZ::ObjectStream::Create(stream, *m_serializeContext, AZ::ObjectStream::ST_XML);
AZ::ObjectStream* binaryObjStream = AZ::ObjectStream::Create(stream, *m_serializeContext
, g_saveRuntimeAssetsAsPlainTextForDebug
? AZ::ObjectStream::ST_XML
: AZ::ObjectStream::ST_BINARY);
bool graphSaved = binaryObjStream->WriteClass(&runtimeAsset->m_runtimeData);
binaryObjStream->Finalize();
return graphSaved;
@ -128,7 +130,7 @@ namespace ScriptCanvas
void RuntimeAssetHandler::DestroyAsset(AZ::Data::AssetPtr ptr)
{
RuntimeAsset* runtimeAsset = azrtti_cast<RuntimeAsset*>(ptr);
Execution::Context::UnloadData(runtimeAsset->GetData());
Execution::Context::UnloadData(runtimeAsset->m_runtimeData);
delete ptr;
}

@ -93,7 +93,7 @@ namespace ScriptCanvas
if (runtimeFunctionAsset && m_serializeContext)
{
stream->Seek(0U, AZ::IO::GenericStream::ST_SEEK_BEGIN);
bool loadSuccess = AZ::Utils::LoadObjectFromStreamInPlace(*stream, runtimeFunctionAsset->m_runtimeData, m_serializeContext, AZ::ObjectStream::FilterDescriptor(assetLoadFilterCB));
bool loadSuccess = AZ::Utils::LoadObjectFromStreamInPlace(*stream, runtimeFunctionAsset->m_interfaceData, m_serializeContext, AZ::ObjectStream::FilterDescriptor(assetLoadFilterCB));
return loadSuccess ? AZ::Data::AssetHandler::LoadResult::LoadComplete : AZ::Data::AssetHandler::LoadResult::Error;
}
return AZ::Data::AssetHandler::LoadResult::Error;
@ -105,8 +105,11 @@ namespace ScriptCanvas
AZ_Assert(runtimeFunctionAsset, "This should be a Script Canvas runtime asset, as this is the only type we process!");
if (runtimeFunctionAsset && m_serializeContext)
{
AZ::ObjectStream* binaryObjStream = AZ::ObjectStream::Create(stream, *m_serializeContext, AZ::ObjectStream::ST_XML);
bool graphSaved = binaryObjStream->WriteClass(&runtimeFunctionAsset->m_runtimeData);
AZ::ObjectStream* binaryObjStream = AZ::ObjectStream::Create(stream, *m_serializeContext
, ScriptCanvas::g_saveEditorAssetsAsPlainTextForDebug
? AZ::ObjectStream::ST_XML
: AZ::ObjectStream::ST_BINARY);
bool graphSaved = binaryObjStream->WriteClass(&runtimeFunctionAsset->m_interfaceData);
binaryObjStream->Finalize();
return graphSaved;
}

@ -20,6 +20,12 @@
namespace ScriptCanvas
{
AZ_CVAR(bool, g_saveRuntimeAssetsAsPlainTextForDebug, false, {}, AZ::ConsoleFunctorFlags::Null
, "Save runtime assets as plain text rather than binary for debug purposes.");
AZ_CVAR(bool, g_saveEditorAssetsAsPlainTextForDebug, false, {}, AZ::ConsoleFunctorFlags::Null
, "Save editor assets as plain text rather than binary for debug purposes.");
ScopedAuxiliaryEntityHandler::ScopedAuxiliaryEntityHandler(AZ::Entity* buildEntity)
: m_buildEntity(buildEntity)
, m_wasAdded(false)

@ -24,6 +24,7 @@
#include <AzCore/std/hash.h>
#include <Core/NamedId.h>
#include <ScriptCanvas/Grammar/PrimitivesDeclarations.h>
#include <AzCore/Console/IConsole.h>
#define OBJECT_STREAM_EDITOR_ASSET_LOADING_SUPPORT_ENABLED
@ -42,6 +43,9 @@ namespace AZ
namespace ScriptCanvas
{
AZ_CVAR_EXTERNED(bool, g_saveRuntimeAssetsAsPlainTextForDebug);
AZ_CVAR_EXTERNED(bool, g_saveEditorAssetsAsPlainTextForDebug);
// A place holder identifier for the AZ::Entity that owns the graph.
// The actual value in each location initialized to GraphOwnerId is populated with the owning entity at editor-time, Asset Processor-time, or runtime, as soon as the owning entity is known.
using GraphOwnerIdType = AZ::EntityId;

@ -41,7 +41,7 @@ namespace ScriptCanvas
{
ActivationData::ActivationData(const RuntimeDataOverrides& variableOverrides, ActivationInputArray& storage)
: variableOverrides(variableOverrides)
, runtimeData(variableOverrides.m_runtimeAsset->GetData())
, runtimeData(variableOverrides.m_runtimeAsset->m_runtimeData)
, storage(storage)
{}

@ -22,7 +22,7 @@ namespace ScriptCanvas
ExecutionStateConfig::ExecutionStateConfig(AZ::Data::Asset<RuntimeAsset> runtimeAsset, RuntimeComponent& component)
: asset(runtimeAsset)
, component(component)
, runtimeData(runtimeAsset.Get()->GetData())
, runtimeData(runtimeAsset.Get()->m_runtimeData)
{}
ExecutionState::ExecutionState(const ExecutionStateConfig& config)

@ -509,9 +509,9 @@ namespace ScriptCanvas
for (auto& dependency : runtimeData.m_requiredAssets)
{
if (!dependency.Get()->GetData().m_areStaticsInitialized)
if (!dependency.Get()->m_runtimeData.m_areStaticsInitialized)
{
InitializeInterpretedStatics(dependency.Get()->GetData());
InitializeInterpretedStatics(dependency.Get()->m_runtimeData);
}
}

@ -49,9 +49,9 @@ namespace ScriptCanvas
, config.asset.GetId().ToString<AZStd::string>().data());
#endif
if (!runtimeAsset->GetData().m_areStaticsInitialized)
if (!runtimeAsset->m_runtimeData.m_areStaticsInitialized)
{
Execution::InitializeInterpretedStatics(runtimeAsset->GetData());
Execution::InitializeInterpretedStatics(runtimeAsset->m_runtimeData);
}
}
@ -70,8 +70,8 @@ namespace ScriptCanvas
const Grammar::DebugExecution* ExecutionStateInterpreted::GetDebugSymbolIn(size_t index, const AZ::Data::AssetId& id) const
{
auto asset = ExecutionStateInterpretedCpp::GetSubgraphAssetForDebug(id);
return asset && asset.Get() && index < asset.Get()->GetData().m_debugMap.m_ins.size()
? &(asset.Get()->GetData().m_debugMap.m_ins[index])
return asset && asset.Get() && index < asset.Get()->m_runtimeData.m_debugMap.m_ins.size()
? &(asset.Get()->m_runtimeData.m_debugMap.m_ins[index])
: nullptr;
}
@ -85,8 +85,8 @@ namespace ScriptCanvas
const Grammar::DebugExecution* ExecutionStateInterpreted::GetDebugSymbolOut(size_t index, const AZ::Data::AssetId& id) const
{
auto asset = ExecutionStateInterpretedCpp::GetSubgraphAssetForDebug(id);
return asset && asset.Get() && index < asset.Get()->GetData().m_debugMap.m_outs.size()
? &(asset.Get()->GetData().m_debugMap.m_outs[index])
return asset && asset.Get() && index < asset.Get()->m_runtimeData.m_debugMap.m_outs.size()
? &(asset.Get()->m_runtimeData.m_debugMap.m_outs[index])
: nullptr;
}
@ -100,8 +100,8 @@ namespace ScriptCanvas
const Grammar::DebugExecution* ExecutionStateInterpreted::GetDebugSymbolReturn(size_t index, const AZ::Data::AssetId& id) const
{
auto asset = ExecutionStateInterpretedCpp::GetSubgraphAssetForDebug(id);
return asset && asset.Get() && index < asset.Get()->GetData().m_debugMap.m_returns.size()
? &(asset.Get()->GetData().m_debugMap.m_returns[index])
return asset && asset.Get() && index < asset.Get()->m_runtimeData.m_debugMap.m_returns.size()
? &(asset.Get()->m_runtimeData.m_debugMap.m_returns[index])
: nullptr;
}
@ -115,8 +115,8 @@ namespace ScriptCanvas
const Grammar::DebugDataSource* ExecutionStateInterpreted::GetDebugSymbolVariableChange(size_t index, const AZ::Data::AssetId& id) const
{
auto asset = ExecutionStateInterpretedCpp::GetSubgraphAssetForDebug(id);
return asset && asset.Get() && index < asset.Get()->GetData().m_debugMap.m_variables.size()
? &(asset.Get()->GetData().m_debugMap.m_variables[index])
return asset && asset.Get() && index < asset.Get()->m_runtimeData.m_debugMap.m_variables.size()
? &(asset.Get()->m_runtimeData.m_debugMap.m_variables[index])
: nullptr;
}

@ -71,7 +71,7 @@ namespace ScriptCanvas
const RuntimeData& RuntimeComponent::GetRuntimeAssetData() const
{
return m_runtimeOverrides.m_runtimeAsset->GetData();
return m_runtimeOverrides.m_runtimeAsset->m_runtimeData;
}
ExecutionMode RuntimeComponent::GetExecutionMode() const

@ -261,11 +261,11 @@ namespace ScriptCanvas
, const ScriptCanvas::Grammar::FunctionSourceId& sourceId
, const SlotExecution::Map& previousMap)
{
const Grammar::SubgraphInterface& subgraphInterface = runtimeAsset.Get()->m_runtimeData.m_interface;
const Grammar::SubgraphInterface& subgraphInterface = runtimeAsset.Get()->m_interfaceData.m_interface;
if (subgraphInterface.IsUserNodeable() && Grammar::IsFunctionSourceIdNodeable(sourceId) && subgraphInterface.HasIn(sourceId))
{
m_prettyName = runtimeAsset.Get()->m_runtimeData.m_name;
m_prettyName = runtimeAsset.Get()->m_interfaceData.m_name;
BuildUserNodeableNode(subgraphInterface, previousMap);
}
else if ((!Grammar::IsFunctionSourceIdNodeable(sourceId)) && subgraphInterface.HasIn(sourceId))
@ -477,7 +477,7 @@ namespace ScriptCanvas
return true;
}
const Grammar::SubgraphInterface* latestAssetInterface = asset ? &asset.Get()->GetData().m_interface : nullptr;
const Grammar::SubgraphInterface* latestAssetInterface = asset ? &asset.Get()->m_interfaceData.m_interface : nullptr;
if (!latestAssetInterface)
{
AZ_Warning("ScriptCanvas", false, "FunctionCallNode %s failed to load latest interface from the source asset.", m_prettyName.data());
@ -517,7 +517,7 @@ namespace ScriptCanvas
DataSlotMap dataSlotMap;
if (m_slotExecutionMap.IsEmpty())
{
const Grammar::SubgraphInterface& subgraphInterface = assetData.Get()->m_runtimeData.m_interface;
const Grammar::SubgraphInterface& subgraphInterface = assetData.Get()->m_interfaceData.m_interface;
RemoveInsFromInterface(subgraphInterface.GetIns(), executionSlotMap, dataSlotMap, k_DoNotRemoveConnections, k_DoNotWarnOnMissingDataSlots);
RemoveOutsFromInterface(subgraphInterface.GetLatentOuts(), executionSlotMap, dataSlotMap, k_DoNotRemoveConnections, k_DoNotWarnOnMissingDataSlots);
}
@ -806,7 +806,7 @@ namespace ScriptCanvas
return;
}
m_prettyName = assetData.Get()->m_runtimeData.m_name;
m_prettyName = assetData.Get()->m_interfaceData.m_name;
}
}
}

@ -153,11 +153,10 @@ TEST_F(ScriptCanvasBuilderTests, ScriptCanvasWithAssetReference_GatherProductDep
graphEntity->AddComponent(assetComponent);
ScriptCanvas::RuntimeData runtimeData;
//runtimeData.m_graphData.m_nodes.emplace(graphEntity);
AZ::Data::Asset<ScriptCanvas::RuntimeAsset> runtimeAsset;
runtimeAsset.Create(AZ::Uuid::CreateRandom());
runtimeAsset.Get()->SetData(runtimeData);
runtimeAsset.Get()->m_runtimeData = runtimeData;
AZStd::vector<AssetBuilderSDK::ProductDependency> productDependencies;
AssetBuilderSDK::ProductPathDependencySet productPathDependencySet;

Loading…
Cancel
Save