pre-PR cleanup
Signed-off-by: carlitosan <82187351+carlitosan@users.noreply.github.com>
This commit is contained in:
@@ -31,14 +31,12 @@ namespace ScriptCanvasEditor
|
||||
ModelNotificationsBus::Broadcast(&ModelNotificationsTraits::OnUpgradeBegin, modification, m_assets);
|
||||
AZ::SystemTickBus::Handler::BusConnect();
|
||||
AzFramework::AssetSystemInfoBus::Handler::BusConnect();
|
||||
AzFramework::AssetSystemInfoBus::Handler::BusConnect();
|
||||
m_result.asset = m_assets[GetCurrentIndex()];
|
||||
}
|
||||
|
||||
Modifier::~Modifier()
|
||||
{
|
||||
AzFramework::AssetSystemInfoBus::Handler::BusDisconnect();
|
||||
AzFramework::AssetSystemInfoBus::Handler::BusDisconnect();
|
||||
}
|
||||
|
||||
bool Modifier::AllDependenciesCleared(const AZStd::unordered_set<size_t>& dependencies) const
|
||||
@@ -73,58 +71,6 @@ namespace ScriptCanvasEditor
|
||||
return false;
|
||||
}
|
||||
|
||||
AZStd::sys_time_t Modifier::CalculateRemainingWaitTime(const AZStd::unordered_set<size_t>& dependencies) const
|
||||
{
|
||||
auto maxSeconds = AZStd::chrono::seconds(dependencies.size() * m_config.perDependencyWaitSecondsMax);
|
||||
auto waitedSeconds = AZStd::chrono::seconds(AZStd::chrono::system_clock::now() - m_waitTimeStamp);
|
||||
return (maxSeconds - waitedSeconds).count();
|
||||
}
|
||||
|
||||
void Modifier::SourceFileChanged(AZStd::string relativePath, [[maybe_unused]] AZStd::string scanFolder, [[maybe_unused]] AZ::Uuid fileAssetId)
|
||||
{
|
||||
AZ_TracePrintf("SC", "received SourceFileChanged: %s", relativePath.c_str());
|
||||
VE_LOG("received SourceFileChanged: %s", relativePath.c_str());
|
||||
}
|
||||
|
||||
void Modifier::SourceFileFailed(AZStd::string relativePath, [[maybe_unused]] AZStd::string scanFolder, [[maybe_unused]] AZ::Uuid fileAssetId)
|
||||
{
|
||||
AZ_TracePrintf("SC", "received SourceFileFailed: %s", relativePath.c_str());
|
||||
VE_LOG("received SourceFileFailed: %s", relativePath.c_str());
|
||||
}
|
||||
|
||||
void Modifier::ProcessNotifications()
|
||||
{
|
||||
AZStd::lock_guard<AZStd::recursive_mutex> lock(m_mutex);
|
||||
|
||||
for (const auto& assetPath : m_successNotifications)
|
||||
{
|
||||
VE_LOG("received AssetCompilationSuccess: %s", assetPath.c_str());
|
||||
SourceHandle sourceHandle(nullptr, {}, assetPath.c_str());
|
||||
CompleteDescriptionInPlace(sourceHandle);
|
||||
|
||||
if (m_attemptedAssets.contains(sourceHandle.Id()))
|
||||
{
|
||||
m_assetsCompletedByAP.insert(sourceHandle.Id());
|
||||
}
|
||||
}
|
||||
|
||||
m_successNotifications.clear();
|
||||
|
||||
for (const auto& assetPath : m_failureNotifications)
|
||||
{
|
||||
VE_LOG("received AssetCompilationFailed: %s", assetPath.c_str());
|
||||
SourceHandle sourceHandle(nullptr, {}, assetPath.c_str());
|
||||
CompleteDescriptionInPlace(sourceHandle);
|
||||
|
||||
if (m_attemptedAssets.contains(sourceHandle.Id()))
|
||||
{
|
||||
m_assetsFailedByAP.insert(sourceHandle.Id());
|
||||
}
|
||||
}
|
||||
|
||||
m_failureNotifications.clear();
|
||||
}
|
||||
|
||||
void Modifier::AssetCompilationSuccess([[maybe_unused]] const AZStd::string& assetPath)
|
||||
{
|
||||
AZStd::lock_guard<AZStd::recursive_mutex> lock(m_mutex);
|
||||
@@ -137,6 +83,13 @@ namespace ScriptCanvasEditor
|
||||
m_failureNotifications.insert(assetPath);
|
||||
}
|
||||
|
||||
AZStd::sys_time_t Modifier::CalculateRemainingWaitTime(const AZStd::unordered_set<size_t>& dependencies) const
|
||||
{
|
||||
auto maxSeconds = AZStd::chrono::seconds(dependencies.size() * m_config.perDependencyWaitSecondsMax);
|
||||
auto waitedSeconds = AZStd::chrono::seconds(AZStd::chrono::system_clock::now() - m_waitTimeStamp);
|
||||
return (maxSeconds - waitedSeconds).count();
|
||||
}
|
||||
|
||||
void Modifier::CheckDependencies()
|
||||
{
|
||||
ModelNotificationsBus::Broadcast(&ModelNotificationsTraits::OnUpgradeModificationBegin, m_config, m_result.asset);
|
||||
@@ -249,6 +202,18 @@ namespace ScriptCanvasEditor
|
||||
return m_results;
|
||||
}
|
||||
|
||||
void Modifier::InitializeResult()
|
||||
{
|
||||
m_result = {};
|
||||
|
||||
if (m_assetIndex != m_assets.size())
|
||||
{
|
||||
m_result.asset = m_assets[GetCurrentIndex()];
|
||||
CompleteDescriptionInPlace(m_result.asset);
|
||||
m_attemptedAssets.insert(m_result.asset.Id());
|
||||
}
|
||||
}
|
||||
|
||||
void Modifier::LoadAsset()
|
||||
{
|
||||
auto& handle = m_result.asset;
|
||||
@@ -294,18 +259,6 @@ namespace ScriptCanvasEditor
|
||||
}
|
||||
}
|
||||
|
||||
void Modifier::InitializeResult()
|
||||
{
|
||||
m_result = {};
|
||||
|
||||
if (m_assetIndex != m_assets.size())
|
||||
{
|
||||
m_result.asset = m_assets[GetCurrentIndex()];
|
||||
CompleteDescriptionInPlace(m_result.asset);
|
||||
m_attemptedAssets.insert(m_result.asset.Id());
|
||||
}
|
||||
}
|
||||
|
||||
void Modifier::NextAsset()
|
||||
{
|
||||
++m_assetIndex;
|
||||
@@ -321,6 +274,72 @@ namespace ScriptCanvasEditor
|
||||
m_modifyState = ModifyState::Idle;
|
||||
}
|
||||
|
||||
void Modifier::OnFileSaveComplete(const FileSaveResult& result)
|
||||
{
|
||||
if (!result.tempFileRemovalError.empty())
|
||||
{
|
||||
VE_LOG
|
||||
("Temporary file not removed for %s: %s"
|
||||
, m_result.asset.Path().c_str()
|
||||
, result.tempFileRemovalError.c_str());
|
||||
}
|
||||
|
||||
AZStd::lock_guard<AZStd::recursive_mutex> lock(m_mutex);
|
||||
m_modifyState = ModifyState::ReportResult;
|
||||
m_fileSaver.reset();
|
||||
m_fileSaveResult = result;
|
||||
}
|
||||
|
||||
void Modifier::OnSystemTick()
|
||||
{
|
||||
switch (m_state)
|
||||
{
|
||||
case State::GatheringDependencies:
|
||||
TickGatherDependencies();
|
||||
break;
|
||||
|
||||
case State::ModifyingGraphs:
|
||||
TickUpdateGraph();
|
||||
break;
|
||||
}
|
||||
|
||||
AZ::Data::AssetManager::Instance().DispatchEvents();
|
||||
AZ::SystemTickBus::ExecuteQueuedEvents();
|
||||
}
|
||||
|
||||
void Modifier::ProcessNotifications()
|
||||
{
|
||||
AZStd::lock_guard<AZStd::recursive_mutex> lock(m_mutex);
|
||||
|
||||
for (const auto& assetPath : m_successNotifications)
|
||||
{
|
||||
VE_LOG("received AssetCompilationSuccess: %s", assetPath.c_str());
|
||||
SourceHandle sourceHandle(nullptr, {}, assetPath.c_str());
|
||||
CompleteDescriptionInPlace(sourceHandle);
|
||||
|
||||
if (m_attemptedAssets.contains(sourceHandle.Id()))
|
||||
{
|
||||
m_assetsCompletedByAP.insert(sourceHandle.Id());
|
||||
}
|
||||
}
|
||||
|
||||
m_successNotifications.clear();
|
||||
|
||||
for (const auto& assetPath : m_failureNotifications)
|
||||
{
|
||||
VE_LOG("received AssetCompilationFailed: %s", assetPath.c_str());
|
||||
SourceHandle sourceHandle(nullptr, {}, assetPath.c_str());
|
||||
CompleteDescriptionInPlace(sourceHandle);
|
||||
|
||||
if (m_attemptedAssets.contains(sourceHandle.Id()))
|
||||
{
|
||||
m_assetsFailedByAP.insert(sourceHandle.Id());
|
||||
}
|
||||
}
|
||||
|
||||
m_failureNotifications.clear();
|
||||
}
|
||||
|
||||
void Modifier::ReleaseCurrentAsset()
|
||||
{
|
||||
m_result.asset = m_result.asset.Describe();
|
||||
@@ -360,39 +379,6 @@ namespace ScriptCanvasEditor
|
||||
}
|
||||
}
|
||||
|
||||
void Modifier::OnFileSaveComplete(const FileSaveResult& result)
|
||||
{
|
||||
if (!result.tempFileRemovalError.empty())
|
||||
{
|
||||
VE_LOG
|
||||
( "Temporary file not removed for %s: %s"
|
||||
, m_result.asset.Path().c_str()
|
||||
, result.tempFileRemovalError.c_str());
|
||||
}
|
||||
|
||||
AZStd::lock_guard<AZStd::recursive_mutex> lock(m_mutex);
|
||||
m_modifyState = ModifyState::ReportResult;
|
||||
m_fileSaver.reset();
|
||||
m_fileSaveResult = result;
|
||||
}
|
||||
|
||||
void Modifier::OnSystemTick()
|
||||
{
|
||||
switch (m_state)
|
||||
{
|
||||
case State::GatheringDependencies:
|
||||
TickGatherDependencies();
|
||||
break;
|
||||
|
||||
case State::ModifyingGraphs:
|
||||
TickUpdateGraph();
|
||||
break;
|
||||
}
|
||||
|
||||
AZ::Data::AssetManager::Instance().DispatchEvents();
|
||||
AZ::SystemTickBus::ExecuteQueuedEvents();
|
||||
}
|
||||
|
||||
void Modifier::SaveModifiedGraph(const ModificationResult& result)
|
||||
{
|
||||
m_modifyState = ModifyState::Saving;
|
||||
|
||||
@@ -14,9 +14,6 @@
|
||||
#include <Editor/View/Windows/Tools/UpgradeTool/ModelTraits.h>
|
||||
#include <ScriptCanvas/Core/Core.h>
|
||||
|
||||
// probably not needed if using the asset system bus
|
||||
#include <AzToolsFramework/API/EditorAssetSystemAPI.h>
|
||||
|
||||
namespace ScriptCanvasEditor
|
||||
{
|
||||
namespace VersionExplorer
|
||||
@@ -24,7 +21,6 @@ namespace ScriptCanvasEditor
|
||||
class Modifier final
|
||||
: public AZ::SystemTickBus::Handler
|
||||
, public ModificationNotificationsBus::Handler
|
||||
, public AzToolsFramework::AssetSystemBus::Handler
|
||||
, public AzFramework::AssetSystemInfoBus::Handler
|
||||
{
|
||||
public:
|
||||
@@ -86,12 +82,13 @@ namespace ScriptCanvasEditor
|
||||
// dependency indices by asset info index (only exist if graphs have them)
|
||||
AZStd::unordered_map<size_t, AZStd::unordered_set<size_t>> m_dependencies;
|
||||
AZStd::unordered_map<AZ::Uuid, size_t> m_assetInfoIndexById;
|
||||
AZStd::vector<size_t> m_failures;
|
||||
ModifyConfiguration m_config;
|
||||
ModificationResult m_result;
|
||||
ModificationResults m_results;
|
||||
AZStd::unique_ptr<FileSaver> m_fileSaver;
|
||||
FileSaveResult m_fileSaveResult;
|
||||
// m_attemptedAssets is assets attempted to be processed by modification, as opposed to
|
||||
// those processed by the AP as a result of one of their dependencies being processed.
|
||||
AZStd::unordered_set<AZ::Uuid> m_attemptedAssets;
|
||||
AZStd::unordered_set<AZ::Uuid> m_assetsCompletedByAP;
|
||||
AZStd::unordered_set<AZ::Uuid> m_assetsFailedByAP;
|
||||
@@ -102,6 +99,8 @@ namespace ScriptCanvasEditor
|
||||
|
||||
bool AllDependenciesCleared(const AZStd::unordered_set<size_t>& dependencies) const;
|
||||
bool AnyDependenciesFailed(const AZStd::unordered_set<size_t>& dependencies) const;
|
||||
void AssetCompilationSuccess(const AZStd::string& assetPath) override;
|
||||
void AssetCompilationFailed(const AZStd::string& assetPath) override;
|
||||
AZStd::sys_time_t CalculateRemainingWaitTime(const AZStd::unordered_set<size_t>& dependencies) const;
|
||||
void CheckDependencies();
|
||||
void GatherDependencies();
|
||||
@@ -110,27 +109,19 @@ namespace ScriptCanvasEditor
|
||||
AZStd::unordered_set<size_t>& GetOrCreateDependencyIndexSet();
|
||||
void InitializeResult();
|
||||
void LoadAsset();
|
||||
void ModificationComplete(const ModificationResult& result) override;
|
||||
void ModifyCurrentAsset();
|
||||
void NextAsset();
|
||||
void NextModification();
|
||||
void ModificationComplete(const ModificationResult& result) override;
|
||||
void OnFileSaveComplete(const FileSaveResult& result);
|
||||
void OnSystemTick() override;
|
||||
void ProcessNotifications();
|
||||
void ReleaseCurrentAsset();
|
||||
void ReportModificationError(AZStd::string_view report);
|
||||
void ReportModificationSuccess();
|
||||
void ReportSaveResult();
|
||||
void SaveModifiedGraph(const ModificationResult& result);
|
||||
void SortGraphsByDependencies();
|
||||
|
||||
|
||||
/// use all this to track the success of dependencies
|
||||
void SourceFileChanged(AZStd::string relativePath, AZStd::string scanFolder, AZ::Uuid fileAssetId) override;
|
||||
void SourceFileFailed(AZStd::string relativePath, AZStd::string scanFolder, AZ::Uuid fileAssetId) override;
|
||||
void AssetCompilationSuccess(const AZStd::string& assetPath) override;
|
||||
void AssetCompilationFailed(const AZStd::string& assetPath) override;
|
||||
void ProcessNotifications();
|
||||
|
||||
void OnFileSaveComplete(const FileSaveResult& result);
|
||||
void OnSystemTick() override;
|
||||
void TickGatherDependencies();
|
||||
void TickUpdateGraph();
|
||||
void WaitForDependencies();
|
||||
|
||||
@@ -81,8 +81,6 @@ namespace ScriptCanvasEditor
|
||||
|
||||
void Scanner::FilterAsset(SourceHandle asset)
|
||||
{
|
||||
AZStd::string name = asset.Path().c_str();
|
||||
|
||||
if (m_config.filter && m_config.filter(asset) == ScanConfiguration::Filter::Exclude)
|
||||
{
|
||||
VE_LOG("Scanner: Excluded: %s ", ModCurrentAsset().Path().c_str());
|
||||
|
||||
Reference in New Issue
Block a user