diff --git a/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/VersionExplorer.cpp b/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/VersionExplorer.cpp index a7dbac759e..1a952262c4 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/VersionExplorer.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/VersionExplorer.cpp @@ -674,6 +674,9 @@ namespace ScriptCanvasEditor void VersionExplorer::InspectAsset(AZ::Data::Asset& asset, AZ::Data::AssetInfo& assetInfo) { + ++m_inspectedAssets; + ++m_currentAssetIndex; + Log("InspectAsset: %s", asset.GetHint().c_str()); AZ::Entity* scriptCanvasEntity = nullptr; if (asset.GetType() == azrtti_typeid()) @@ -694,10 +697,9 @@ namespace ScriptCanvasEditor bool onlyShowOutdatedGraphs = m_ui->onlyShowOutdated->isChecked(); bool forceUpgrade = m_ui->forceUpgrade->isChecked(); - + if (!forceUpgrade && onlyShowOutdatedGraphs && graphComponent->GetVersion().IsLatest()) { - ++m_currentAssetIndex; ScanComplete(asset); Log("InspectAsset: %s, is at latest", asset.GetHint().c_str()); return; @@ -754,15 +756,11 @@ namespace ScriptCanvasEditor } QString absolutePath = QDir(watchFolder.c_str()).absoluteFilePath(info.m_relativePath.c_str()); - connect(browseButton, &QPushButton::clicked, [absolutePath] { AzQtComponents::ShowFileOnDesktop(absolutePath); }); - m_ui->tableWidget->setCellWidget(static_cast(m_inspectedAssets), static_cast(ColumnBrowse), browseButton); - - ++m_inspectedAssets; - ++m_currentAssetIndex; + m_ui->tableWidget->setCellWidget(static_cast(m_inspectedAssets), static_cast(ColumnBrowse), browseButton); ScanComplete(asset); } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.cpp index a5e73005c1..6e2cf87af4 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.cpp @@ -139,6 +139,7 @@ namespace ScriptCanvas serializeContext->Class() ->Field("_grammarVersion", &VersionData::grammarVersion) ->Field("_runtimeVersion", &VersionData::runtimeVersion) + ->Field("_fileVersion", &VersionData::fileVersion) ; } } @@ -154,5 +155,6 @@ namespace ScriptCanvas { grammarVersion = GrammarVersion::Current; runtimeVersion = RuntimeVersion::Current; + fileVersion = FileVersion::Current; } } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.h index 03bcb8450f..a1fa8c3d0b 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Core.h @@ -71,6 +71,13 @@ namespace ScriptCanvas using NodePtrList = AZStd::vector; using NodePtrConstList = AZStd::vector; + enum class PropertyStatus : AZ::u8 + { + Getter, + None, + Setter, + }; + enum class GrammarVersion : int { Initial = -1, @@ -89,11 +96,13 @@ namespace ScriptCanvas Current, }; - enum class PropertyStatus : AZ::u8 + enum class FileVersion : int { - Getter, - None, - Setter, + Initial = -1, + JSON = 0, + + // add new entries above + Current, }; struct VersionData @@ -106,10 +115,13 @@ namespace ScriptCanvas GrammarVersion grammarVersion = GrammarVersion::Initial; RuntimeVersion runtimeVersion = RuntimeVersion::Initial; + FileVersion fileVersion = FileVersion::Initial; bool operator == (const VersionData& rhs) const { - return grammarVersion == rhs.grammarVersion && runtimeVersion == rhs.runtimeVersion; + return grammarVersion == rhs.grammarVersion + && runtimeVersion == rhs.runtimeVersion + && fileVersion == rhs.fileVersion; } bool IsLatest() const diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp index eb1ee501a9..793224fd86 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp @@ -681,6 +681,13 @@ namespace ScriptCanvas outType = eventType; return true; } + + AZ_Warning("Script Canvas" + , !m_warnOnMissingFunction + , "Could not find event: %s, in bus: %s, anywhere in BehaviorContext" + , methodName.c_str() + , m_className.c_str()); + return false; } break; @@ -693,6 +700,12 @@ namespace ScriptCanvas outType = EventType::Count; return true; } + + AZ_Warning("Script Canvas" + , !m_warnOnMissingFunction + , "Could not find free method: %s anywhere in BehaviorContext" + , methodName.c_str()); + return false; } break; @@ -709,15 +722,27 @@ namespace ScriptCanvas outType = EventType::Count; return true; } + + AZ_Warning("Script Canvas" + , !m_warnOnMissingFunction + , "Could not find method or property: %s in class %s: , anywhere in BehaviorContext" + , methodName.c_str() + , m_className.c_str()); + return false; } break; - default: - AZ_Warning("Script Canvas", !m_warnOnMissingFunction, "unsupported method type in method"); + default: break; } } + AZ_Warning("Script Canvas" + , !m_warnOnMissingFunction + , "Could not find overloaded method: %s, class or event name: %s, anywhere in BehaviorContext" + , methodName.c_str() + , m_className.c_str()); + return false; } diff --git a/Gems/ScriptCanvasTesting/Code/CMakeLists.txt b/Gems/ScriptCanvasTesting/Code/CMakeLists.txt index 29360912d8..499bb84c2d 100644 --- a/Gems/ScriptCanvasTesting/Code/CMakeLists.txt +++ b/Gems/ScriptCanvasTesting/Code/CMakeLists.txt @@ -77,6 +77,7 @@ ly_add_target( # By default, the above module is used only in tools: ly_create_alias(NAME ScriptCanvasTesting.Tools NAMESPACE Gem TARGETS Gem::ScriptCanvasTesting.Editor) +ly_create_alias(NAME ScriptCanvasTesting.Builders NAMESPACE Gem TARGETS Gem::ScriptCanvasTesting.Editor) ################################################################################ # Tests