fix for dependency job key on ScriptEvents from SC builder
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
This commit is contained in:
@@ -38,7 +38,7 @@ namespace AZ {
|
||||
struct SymbolStorageDynamicallyLoadedModules
|
||||
{
|
||||
size_t m_size;
|
||||
DynamicallyLoadedModuleInfo m_modules[1028];
|
||||
DynamicallyLoadedModuleInfo m_modules[1024];
|
||||
|
||||
SymbolStorageDynamicallyLoadedModules()
|
||||
: m_size(0)
|
||||
|
||||
@@ -82,23 +82,35 @@ namespace ScriptCanvasBuilder
|
||||
|
||||
m_processEditorAssetDependencies.clear();
|
||||
|
||||
auto assetFilter = [this, &response](const AZ::Data::AssetFilterInfo& filterInfo)
|
||||
AZStd::unordered_multimap<AZStd::string, AssetBuilderSDK::SourceFileDependency> jobDependenciesByKey;
|
||||
|
||||
auto assetFilter = [this, &jobDependenciesByKey](const AZ::Data::AssetFilterInfo& filterInfo)
|
||||
{
|
||||
// force load these before processing
|
||||
if (filterInfo.m_assetType == azrtti_typeid<ScriptCanvas::SubgraphInterfaceAsset>()
|
||||
|| filterInfo.m_assetType == azrtti_typeid<ScriptEvents::ScriptEventsAsset>())
|
||||
|| filterInfo.m_assetType == azrtti_typeid<ScriptEvents::ScriptEventsAsset>())
|
||||
{
|
||||
this->m_processEditorAssetDependencies.push_back(filterInfo);
|
||||
}
|
||||
|
||||
// these trigger re-processing
|
||||
if (filterInfo.m_assetType == azrtti_typeid<ScriptCanvasEditor::ScriptCanvasAsset>()
|
||||
|| filterInfo.m_assetType == azrtti_typeid<ScriptEvents::ScriptEventsAsset>()
|
||||
|| filterInfo.m_assetType == azrtti_typeid<ScriptCanvas::SubgraphInterfaceAsset>())
|
||||
if (filterInfo.m_assetType == azrtti_typeid<ScriptCanvasEditor::ScriptCanvasAsset>())
|
||||
{
|
||||
AZ_Error("ScriptCanvas", false, "ScriptAsset Reference in a graph detected");
|
||||
}
|
||||
|
||||
if (filterInfo.m_assetType == azrtti_typeid<ScriptEvents::ScriptEventsAsset>())
|
||||
{
|
||||
AssetBuilderSDK::SourceFileDependency dependency;
|
||||
dependency.m_sourceFileDependencyUUID = filterInfo.m_assetId.m_guid;
|
||||
response.m_sourceFileDependencyList.push_back(dependency);
|
||||
jobDependenciesByKey.insert({ ScriptEvents::k_builderJobKey, dependency });
|
||||
}
|
||||
|
||||
if (filterInfo.m_assetType == azrtti_typeid<ScriptCanvas::SubgraphInterfaceAsset>())
|
||||
{
|
||||
AssetBuilderSDK::SourceFileDependency dependency;
|
||||
dependency.m_sourceFileDependencyUUID = filterInfo.m_assetId.m_guid;
|
||||
jobDependenciesByKey.insert({ s_scriptCanvasProcessJobKey, dependency });
|
||||
}
|
||||
|
||||
// Asset filter always returns false to prevent parsing dependencies, but makes note of the script canvas dependencies
|
||||
@@ -163,9 +175,10 @@ namespace ScriptCanvasBuilder
|
||||
jobDescriptor.m_additionalFingerprintInfo = AZStd::string(GetFingerprintString()).append("|").append(AZStd::to_string(static_cast<AZ::u64>(fingerprint)));
|
||||
|
||||
// Graph process job needs to wait until its dependency asset job finished
|
||||
for (const auto& processingDependency : response.m_sourceFileDependencyList)
|
||||
for (const auto& processingDependency : jobDependenciesByKey)
|
||||
{
|
||||
jobDescriptor.m_jobDependencyList.emplace_back(s_scriptCanvasProcessJobKey, info.m_identifier.c_str(), AssetBuilderSDK::JobDependencyType::Order, processingDependency);
|
||||
response.m_sourceFileDependencyList.push_back(processingDependency.second);
|
||||
jobDescriptor.m_jobDependencyList.emplace_back(processingDependency.first, info.m_identifier.c_str(), AssetBuilderSDK::JobDependencyType::Order, processingDependency.second);
|
||||
}
|
||||
|
||||
response.m_createJobOutputs.push_back(jobDescriptor);
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace ScriptCanvasBuilder
|
||||
bool pathFound = false;
|
||||
AZStd::string relativePath;
|
||||
AzToolsFramework::AssetSystemRequestBus::BroadcastResult
|
||||
(pathFound
|
||||
( pathFound
|
||||
, &AzToolsFramework::AssetSystem::AssetSystemRequest::GetRelativeProductPathFromFullSourceOrProductPath
|
||||
, fullPath.c_str(), relativePath);
|
||||
|
||||
|
||||
@@ -802,12 +802,6 @@ namespace ScriptCanvas
|
||||
m_namespacePath = namespacePath;
|
||||
}
|
||||
|
||||
void SubgraphInterface::TakeNamespacePath(NamespacePath&& namespacePath)
|
||||
{
|
||||
m_namespacePath = AZStd::move(namespacePath);
|
||||
}
|
||||
|
||||
|
||||
AZStd::string SubgraphInterface::ToExecutionString() const
|
||||
{
|
||||
AZStd::string result;
|
||||
|
||||
@@ -235,8 +235,6 @@ namespace ScriptCanvas
|
||||
|
||||
void SetNamespacePath(const NamespacePath& namespacePath);
|
||||
|
||||
void TakeNamespacePath(NamespacePath&& namespacePath);
|
||||
|
||||
AZStd::string ToExecutionString() const;
|
||||
|
||||
private:
|
||||
|
||||
@@ -234,7 +234,7 @@ namespace ScriptCanvas
|
||||
const VariableData Source::k_emptyVardata{};
|
||||
|
||||
Source::Source
|
||||
(const Graph& graph
|
||||
( const Graph& graph
|
||||
, const AZ::Data::AssetId& id
|
||||
, const GraphData& graphData
|
||||
, const VariableData& variableData
|
||||
@@ -276,7 +276,7 @@ namespace ScriptCanvas
|
||||
AzFramework::StringFunc::Path::StripExtension(namespacePath);
|
||||
|
||||
return AZ::Success(Source
|
||||
(*request.graph
|
||||
(*request.graph
|
||||
, request.scriptAssetId
|
||||
, *graphData
|
||||
, *sourceVariableData
|
||||
|
||||
@@ -289,7 +289,7 @@ namespace ScriptCanvas
|
||||
|
||||
Source() = default;
|
||||
Source
|
||||
(const Graph& graph
|
||||
( const Graph& graph
|
||||
, const AZ::Data::AssetId& id
|
||||
, const GraphData& graphData
|
||||
, const VariableData& variableData
|
||||
|
||||
@@ -120,7 +120,7 @@ namespace ScriptEventsBuilder
|
||||
AssetBuilderSDK::JobDescriptor jobDescriptor;
|
||||
jobDescriptor.m_priority = 2;
|
||||
jobDescriptor.m_critical = true;
|
||||
jobDescriptor.m_jobKey = "Script Events";
|
||||
jobDescriptor.m_jobKey = ScriptEvents::k_builderJobKey;
|
||||
jobDescriptor.SetPlatformIdentifier(info.m_identifier.data());
|
||||
jobDescriptor.m_additionalFingerprintInfo = GetFingerprintString();
|
||||
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
|
||||
namespace ScriptEvents
|
||||
{
|
||||
constexpr const char* k_builderJobKey = "Script Events";
|
||||
|
||||
class ScriptEventsAsset
|
||||
: public AZ::Data::AssetData
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user