diff --git a/Gems/ScriptCanvas/Code/Asset/EditorAssetSystemComponent.cpp b/Gems/ScriptCanvas/Code/Asset/EditorAssetSystemComponent.cpp index 97bba9b7e6..e698fcc298 100644 --- a/Gems/ScriptCanvas/Code/Asset/EditorAssetSystemComponent.cpp +++ b/Gems/ScriptCanvas/Code/Asset/EditorAssetSystemComponent.cpp @@ -28,7 +28,7 @@ AZ_PUSH_DISABLE_WARNING(4251 4800 4244, "-Wunknown-warning-option") #include AZ_POP_DISABLE_WARNING -#include +#include namespace ScriptCanvasEditor { diff --git a/Gems/ScriptCanvas/Code/Asset/RuntimeAssetSystemComponent.cpp b/Gems/ScriptCanvas/Code/Asset/RuntimeAssetSystemComponent.cpp index e993b21b26..38995f8dca 100644 --- a/Gems/ScriptCanvas/Code/Asset/RuntimeAssetSystemComponent.cpp +++ b/Gems/ScriptCanvas/Code/Asset/RuntimeAssetSystemComponent.cpp @@ -2,7 +2,7 @@ * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT - * + *s */ #include @@ -11,7 +11,7 @@ #include #include #include -#include +#include namespace ScriptCanvas { diff --git a/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderComponent.cpp b/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderComponent.cpp index ea714f356f..a953edeae8 100644 --- a/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderComponent.cpp +++ b/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderComponent.cpp @@ -102,30 +102,9 @@ namespace ScriptCanvasBuilder AzToolsFramework::ToolsAssetSystemBus::Broadcast(&AzToolsFramework::ToolsAssetSystemRequests::RegisterSourceAssetType, azrtti_typeid(), ScriptCanvasEditor::ScriptCanvasAsset::Description::GetFileFilter()); } - { - AssetBuilderSDK::AssetBuilderDesc builderDescriptor; - builderDescriptor.m_name = "Script Canvas Function Builder"; - builderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern("*.scriptcanvas_fn", AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); - builderDescriptor.m_busId = ScriptCanvasBuilder::FunctionWorker::GetUUID(); - builderDescriptor.m_createJobFunction = AZStd::bind(&FunctionWorker::CreateJobs, &m_scriptCanvasFunctionBuilder, AZStd::placeholders::_1, AZStd::placeholders::_2); - builderDescriptor.m_processJobFunction = AZStd::bind(&FunctionWorker::ProcessJob, &m_scriptCanvasFunctionBuilder, AZStd::placeholders::_1, AZStd::placeholders::_2); - // changing the version number invalidates all assets and will rebuild everything. - builderDescriptor.m_version = m_scriptCanvasFunctionBuilder.GetVersionNumber(); - // changing the analysis fingerprint just invalidates analysis (ie, not the assets themselves) - // which will cause the "CreateJobs" function to be called, for each asset, even if the - // source file has not changed, but won't actually do the jobs unless the source file has changed - // or the fingerprint of the individual job is different. - builderDescriptor.m_analysisFingerprint = m_scriptCanvasFunctionBuilder.GetFingerprintString(); - builderDescriptor.AddFlags(AssetBuilderSDK::AssetBuilderDesc::BF_DeleteLastKnownGoodProductOnFailure, s_scriptCanvasProcessJobKey); - builderDescriptor.m_productsToKeepOnFailure[s_scriptCanvasProcessJobKey] = { AZ_CRC("SubgraphInterface", 0xdfe6dc72) }; - AssetBuilderSDK::AssetBuilderBus::Broadcast(&AssetBuilderSDK::AssetBuilderBus::Handler::RegisterBuilderInformation, builderDescriptor); - ScriptCanvas::Grammar::RequestBus::Handler::BusConnect(); - } - m_sharedHandlers = HandleAssetTypes(); AssetHandlers workerHandlers(m_sharedHandlers); m_scriptCanvasBuilder.Activate(workerHandlers); - m_scriptCanvasFunctionBuilder.Activate(workerHandlers); ScriptCanvas::Translation::RequestBus::Handler::BusConnect(); ScriptCanvas::Grammar::RequestBus::Handler::BusConnect(); @@ -135,15 +114,9 @@ namespace ScriptCanvasBuilder { // Finish all queued work AZ::Data::AssetBus::ExecuteQueuedEvents(); - AzToolsFramework::ToolsAssetSystemBus::Broadcast(&AzToolsFramework::ToolsAssetSystemRequests::UnregisterSourceAssetType, azrtti_typeid()); - AzToolsFramework::ToolsAssetSystemBus::Broadcast(&AzToolsFramework::ToolsAssetSystemRequests::UnregisterSourceAssetType, azrtti_typeid()); - m_scriptCanvasBuilder.BusDisconnect(); - m_scriptCanvasFunctionBuilder.BusDisconnect(); - m_sharedHandlers.DeleteOwnedHandlers(); - ScriptCanvas::Translation::RequestBus::Handler::BusDisconnect(); ScriptCanvas::Grammar::RequestBus::Handler::BusDisconnect(); } diff --git a/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderComponent.h b/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderComponent.h index bd6a09433a..5d57863ec3 100644 --- a/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderComponent.h +++ b/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderComponent.h @@ -54,7 +54,6 @@ namespace ScriptCanvasBuilder SharedHandlers m_sharedHandlers; Worker m_scriptCanvasBuilder; - FunctionWorker m_scriptCanvasFunctionBuilder; ScriptCanvas::Translation::Context m_translationContext; ScriptCanvas::Grammar::Context m_grammarContext; }; diff --git a/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorker.cpp b/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorker.cpp index 6b163a5027..b9d1dd5a7c 100644 --- a/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorker.cpp +++ b/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorker.cpp @@ -8,7 +8,6 @@ #include "precompiled.h" #include -#include #include #include #include @@ -18,9 +17,8 @@ #include #include -#include +#include #include -#include #include #include #include diff --git a/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorker.h b/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorker.h index df432578d4..ae87a0bd20 100644 --- a/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorker.h +++ b/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorker.h @@ -175,37 +175,4 @@ namespace ScriptCanvasBuilder // cached on first time query mutable AZStd::string m_fingerprintString; }; - - class FunctionWorker - : public AssetBuilderSDK::AssetBuilderCommandBus::Handler - { - public: - static AZ::Uuid GetUUID(); - - FunctionWorker() = default; - FunctionWorker(const FunctionWorker&) = delete; - - void Activate(const AssetHandlers& handlers); - - //! Asset Builder Callback Functions - void CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const; - - const char* GetFingerprintString() const; - - int GetVersionNumber() const; - - void ProcessJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const; - - void ShutDown() override {}; - - private: - AZ::Data::AssetHandler* m_editorAssetHandler = nullptr; - AZ::Data::AssetHandler* m_runtimeAssetHandler = nullptr; - AZ::Data::AssetHandler* m_subgraphInterfaceHandler = nullptr; - - mutable AZStd::vector> m_sourceDependencies; - - // cached on first time query - mutable AZStd::string m_fingerprintString; - }; } diff --git a/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorkerUtility.cpp b/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorkerUtility.cpp index 73d32ba16a..7f6269a698 100644 --- a/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorkerUtility.cpp +++ b/Gems/ScriptCanvas/Code/Builder/ScriptCanvasBuilderWorkerUtility.cpp @@ -17,10 +17,9 @@ #include #include #include -#include +#include #include #include -#include #include #include #include diff --git a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetHelpers.cpp b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetHelpers.cpp index caec55e9fe..6eae2ff603 100644 --- a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetHelpers.cpp +++ b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetHelpers.cpp @@ -148,37 +148,13 @@ namespace ScriptCanvasEditor } - bool IsValidSourceFile(const AZStd::string& filePath, ScriptCanvas::ScriptCanvasId scriptCanvasId) + bool IsValidSourceFile(const AZStd::string& filePath, [[maybe_unused]] ScriptCanvas::ScriptCanvasId scriptCanvasId) { - bool isValidSourceFile = true; - - if (scriptCanvasId.IsValid()) + ScriptCanvasAssetDescription assetDescription; + return AZ::StringFunc::EndsWith(filePath, assetDescription.GetExtensionImpl(), false); { - bool isRuntimeGraph = false; - EditorGraphRequestBus::EventResult(isRuntimeGraph, scriptCanvasId, &EditorGraphRequests::IsRuntimeGraph); - - if (isRuntimeGraph) - { - ScriptCanvasAssetDescription assetDescription; - - if (!AZ::StringFunc::EndsWith(filePath, assetDescription.GetExtensionImpl(), false)) - { - isValidSourceFile = false; - } - } - // Assume it's a function for now - else - { - ScriptCanvasEditor::ScriptCanvasFunctionDescription assetDescription; - - if (!AZ::StringFunc::EndsWith(filePath, assetDescription.GetExtensionImpl(), false)) - { - isValidSourceFile = false; - } - } + return true; } - - return isValidSourceFile; } } } diff --git a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetInstance.cpp b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetInstance.cpp deleted file mode 100644 index 30f2ecdb64..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetInstance.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#include "precompiled.h" - -#include -#include -#include - -namespace ScriptCanvasEditor -{ - ScriptCanvasAssetInstance::~ScriptCanvasAssetInstance() - { - } - - void ScriptCanvasAssetInstance::Reflect(AZ::ReflectContext* context) - { - if (auto serializeContext = azrtti_cast(context)) - { - serializeContext->Class() - // TODO: This results in more data being saved per instance, but is needed to make Id remapping transparent. - // Allow a way to enumerate the elements for Id Remapping, while disallowing serialization - ->Field("m_data", &ScriptCanvasAssetInstance::m_scriptCanvasData) - ->Field("m_assetRef", &ScriptCanvasAssetInstance::m_assetRef) - ->Field("m_entityInstanceMap", &ScriptCanvasAssetInstance::m_baseToInstanceMap) - ->Field("m_dataFlags", &ScriptCanvasAssetInstance::m_entityToDataFlags) - ->Field("m_dataPatch", &ScriptCanvasAssetInstance::m_dataPatch) - ; - } - } - - ScriptCanvasAssetReference& ScriptCanvasAssetInstance::GetReference() - { - return m_assetRef; - } - - const ScriptCanvasAssetReference& ScriptCanvasAssetInstance::GetReference() const - { - return m_assetRef; - } - - ScriptCanvas::ScriptCanvasData& ScriptCanvasAssetInstance::GetScriptCanvasData() - { - return m_scriptCanvasData; - } - - const ScriptCanvas::ScriptCanvasData& ScriptCanvasAssetInstance::GetScriptCanvasData() const - { - return m_scriptCanvasData; - } - - void ScriptCanvasAssetInstance::ComputeDataPatch() - { - if (!m_assetRef.GetAsset().IsReady()) - { - return; - } - - ScriptCanvas::ScriptCanvasData& baseData = m_assetRef.GetAsset().Get()->GetScriptCanvasData(); - - AZ::SerializeContext* serializeContext{}; - AZ::ComponentApplicationBus::BroadcastResult(serializeContext, &AZ::ComponentApplicationRequests::GetSerializeContext); - - decltype(m_baseToInstanceMap) entityIdReverseLookUp; - for (const auto& baseToInstancePair : m_baseToInstanceMap) - { - entityIdReverseLookUp.emplace(baseToInstancePair.second, baseToInstancePair.first); - } - - // remap entity ids to the "original" - AZ::IdUtils::Remapper::ReplaceIdsAndIdRefs(&m_scriptCanvasData, [&entityIdReverseLookUp](AZ::EntityId sourceId, [[maybe_unused]] bool isEntityId, const AZ::IdUtils::Remapper::IdGenerator&) -> AZ::EntityId - { - auto findIt = entityIdReverseLookUp.find(sourceId); - return findIt != entityIdReverseLookUp.end() ? findIt->second : sourceId; - }, serializeContext); - - // compute the delta (what we changed from the base slice) - m_dataPatch.Create(&baseData, &m_scriptCanvasData, AZ::DataPatch::FlagsMap(), GetDataFlagsForPatching(), serializeContext); - - // remap entity ids back to the "instance onces" - AZ::IdUtils::Remapper::ReplaceIdsAndIdRefs(&m_scriptCanvasData, [this](AZ::EntityId sourceId, [[maybe_unused]] bool isEntityId, const AZ::IdUtils::Remapper::IdGenerator&) -> AZ::EntityId { - auto findIt = m_baseToInstanceMap.find(sourceId); - return findIt != m_baseToInstanceMap.end() ? findIt->second : sourceId; - }, serializeContext); - - } - - void ScriptCanvasAssetInstance::ApplyDataPatch() - { - if (!m_assetRef.GetAsset().IsReady()) - { - return; - } - - ScriptCanvas::ScriptCanvasData& baseData = m_assetRef.GetAsset().Get()->GetScriptCanvasData(); - - AZ::SerializeContext* serializeContext{}; - AZ::ComponentApplicationBus::BroadcastResult(serializeContext, &AZ::ComponentApplicationRequests::GetSerializeContext); - // An empty map indicates its a fresh instance (i.e. has never be instantiated and then serialized). - if (m_baseToInstanceMap.empty()) - { - // Generate new Ids and populate the map. - AZ_Assert(!m_dataPatch.IsValid(), "Data patch is valid for scene slice instance, but base scene to instantiated scene Id map is not!"); - serializeContext->CloneObjectInplace(m_scriptCanvasData, &baseData); - AZ::IdUtils::Remapper::GenerateNewIdsAndFixRefs(&m_scriptCanvasData, m_baseToInstanceMap); - } - else - { - // Clone entities while applying any data patches. - AZ_Assert(m_dataPatch.IsValid(), "Data patch is not valid for existing scene slice instance!"); - ScriptCanvas::ScriptCanvasData* patchedSceneData = m_dataPatch.Apply(&baseData, serializeContext); - - // Remap Ids & references. - AZ::IdUtils::Remapper::GenerateNewIdsAndFixRefs(patchedSceneData, m_baseToInstanceMap); - serializeContext->CloneObjectInplace(m_scriptCanvasData, patchedSceneData); - } - } - - AZ::DataPatch::FlagsMap ScriptCanvasAssetInstance::GetDataFlagsForPatching() const - { - // Collect all entities' data flags - AZ::DataPatch::FlagsMap dataFlags; - - for (auto& baseIdInstanceIdPair : m_baseToInstanceMap) - { - // Make the addressing relative to InstantiatedContainer (m_dataFlags stores flags relative to the individual entity) - AZ::DataPatch::AddressType addressPrefix; - addressPrefix.push_back(AZ_CRC("Entities", 0x50ec64e5)); - addressPrefix.push_back(static_cast(baseIdInstanceIdPair.first)); - - auto findIt = m_entityToDataFlags.find(baseIdInstanceIdPair.second); - if (findIt != m_entityToDataFlags.end()) - { - for (auto& addressDataFlagsPair : findIt->second) - { - const AZ::DataPatch::AddressType& originalAddress = addressDataFlagsPair.first; - - AZ::DataPatch::AddressType prefixedAddress; - prefixedAddress.reserve(addressPrefix.size() + originalAddress.size()); - prefixedAddress.insert(prefixedAddress.end(), addressPrefix.begin(), addressPrefix.end()); - prefixedAddress.insert(prefixedAddress.end(), originalAddress.begin(), originalAddress.end()); - - dataFlags.emplace(AZStd::move(prefixedAddress), addressDataFlagsPair.second); - } - } - } - - return dataFlags; - } -} diff --git a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetInstance.h b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetInstance.h deleted file mode 100644 index 5e86636d90..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetInstance.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#pragma once -#include -#include - -namespace ScriptCanvasEditor -{ - class ScriptCanvasAssetInstance - { - public: - AZ_TYPE_INFO(ScriptCanvasAssetInstance, "{96B16AAB-DB63-4D32-9FC9-7A5DE440B0B7}"); - AZ_CLASS_ALLOCATOR(ScriptCanvasAssetInstance, AZ::SystemAllocator, 0); - - ScriptCanvasAssetInstance() = default; - ~ScriptCanvasAssetInstance(); - static void Reflect(AZ::ReflectContext* context); - - const AZStd::unordered_map& GetBaseToInstanceMap() const { return m_baseToInstanceMap; } - ScriptCanvasAssetReference& GetReference(); - const ScriptCanvasAssetReference& GetReference() const; - - ScriptCanvas::ScriptCanvasData& GetScriptCanvasData(); - const ScriptCanvas::ScriptCanvasData& GetScriptCanvasData() const; - - void ComputeDataPatch(); - void ApplyDataPatch(); - - private: - ScriptCanvasAssetInstance(const ScriptCanvasAssetInstance&) = delete; - AZ::DataPatch::FlagsMap GetDataFlagsForPatching() const; - - ScriptCanvas::ScriptCanvasData m_scriptCanvasData; - ScriptCanvasAssetReference m_assetRef; - AZStd::unordered_map m_baseToInstanceMap; - AZStd::unordered_map m_entityToDataFlags; - - AZ::DataPatch m_dataPatch; - bool m_canApplyPatch; - }; -} diff --git a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetReference.cpp b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetReference.cpp deleted file mode 100644 index e4d620ba57..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetReference.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#include "precompiled.h" - -#include -#include -#include - -namespace ScriptCanvasEditor -{ - void ScriptCanvasAssetReference::Reflect(AZ::ReflectContext* context) - { - if (auto serializeContext = azrtti_cast(context)) - { - serializeContext->Class() - ->DataContainer() - ; - } - } - - ScriptCanvasAssetReference::ScriptCanvasAssetReference(AZ::Data::Asset sliceAsset, bool storeInObjectStream) - { - SetAsset(sliceAsset); - SetAssetDataStoredInternally(storeInObjectStream); - } - - void ScriptCanvasAssetReference::SetAsset(AZ::Data::Asset sliceAsset) - { - m_asset = sliceAsset; - } - - const AZ::Data::Asset& ScriptCanvasAssetReference::GetAsset() const - { - return m_asset; - } - - AZ::Data::Asset& ScriptCanvasAssetReference::GetAsset() - { - return m_asset; - } - - void ScriptCanvasAssetReference::SetAssetDataStoredInternally(bool storeInObjectStream) - { - m_storeInObjectStream = storeInObjectStream; - } - - bool ScriptCanvasAssetReference::GetAssetDataStoredInternally() const - { - return m_storeInObjectStream; - } - -} diff --git a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetReference.h b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetReference.h deleted file mode 100644 index 526296b1c1..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetReference.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#pragma once -#include -#include - -namespace ScriptCanvas -{ - class ScriptCanvasData; -} - -namespace ScriptCanvasEditor -{ - class ScriptCanvasAsset; - - class ScriptCanvasAssetReference - { - public: - AZ_TYPE_INFO(ScriptCanvasAssetReference, "{C1B24507-887C-4E20-A259-BFEEDD7EDF9D}"); - AZ_CLASS_ALLOCATOR(ScriptCanvasAssetReference, AZ::SystemAllocator, 0); - - ScriptCanvasAssetReference() = default; - ScriptCanvasAssetReference(AZ::Data::Asset scriptCanvasAsset, bool storeInObjectStream = false); - static void Reflect(AZ::ReflectContext* context); - - /*! - \param scriptCanvasAsset asset reference to store - \param storeInObjectStream bool which determines if the asset data will serialized out as part of the ObjectStream when serializing - */ - void SetAsset(AZ::Data::Asset scriptCanvasAsset); - const AZ::Data::Asset& GetAsset() const; - AZ::Data::Asset& GetAsset(); - - /*! - \param storeInObjectStream bool which determines if the asset data will serialized out as part of the ObjectStream when serializing - */ - void SetAssetDataStoredInternally(bool storeInObjectStream); - - /*! - Indicates if this scriptCanvas reference contains an asset whose data is stored internally in this class. - \return true if the asset is asset data is serialize as part of this class object stream - */ - bool GetAssetDataStoredInternally() const; - - private: - bool m_storeInObjectStream = false; ///< If true the asset data is stored in the object stream with this class - AZ::Data::Asset m_asset; - friend class ScriptCanvasAssetReferenceContainer; - }; -} - -namespace AZStd -{ - template<> - struct hash - { - using argument_type = ScriptCanvasEditor::ScriptCanvasAssetReference; - using result_type = AZStd::size_t; - AZ_FORCE_INLINE size_t operator()(const argument_type& key) const - { - AZStd::hash hasher; - return hasher(key.GetAsset().GetId()); - } - }; -} diff --git a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetReferenceContainer.h b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetReferenceContainer.h deleted file mode 100644 index efff707234..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetReferenceContainer.h +++ /dev/null @@ -1,234 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#pragma once - -#include -#include -#include - -namespace ScriptCanvasEditor -{ - class ScriptCanvasAssetReferenceContainer - : public AZ::SerializeContext::IDataContainer - { - public: - ScriptCanvasAssetReferenceContainer() - { - m_storeInObjectStreamElement.m_name = "m_storeInObjectStream"; - m_storeInObjectStreamElement.m_nameCrc = AZ_CRC("m_storeInObjectStream", 0xf5a45371); - m_storeInObjectStreamElement.m_typeId = azrtti_typeid(); - m_storeInObjectStreamElement.m_offset = 0; - m_storeInObjectStreamElement.m_dataSize = sizeof(bool); - m_storeInObjectStreamElement.m_azRtti = nullptr; - m_storeInObjectStreamElement.m_genericClassInfo = AZ::SerializeGenericTypeInfo::GetGenericInfo(); - m_storeInObjectStreamElement.m_editData = nullptr; - m_storeInObjectStreamElement.m_flags = 0; - - m_assetElement.m_name = "m_asset"; - m_assetElement.m_nameCrc = AZ_CRC("m_asset", 0x4e58e538); - m_assetElement.m_typeId = AZ::SerializeGenericTypeInfo>::GetClassTypeId(); - m_assetElement.m_offset = m_storeInObjectStreamElement.m_dataSize; - m_assetElement.m_dataSize = sizeof(AZ::Data::Asset); - m_assetElement.m_azRtti = AZ::GetRttiHelper>(); - m_assetElement.m_genericClassInfo = AZ::SerializeGenericTypeInfo>::GetGenericInfo(); - m_assetElement.m_editData = nullptr; - m_assetElement.m_flags = 0; - - m_baseDataElement.m_name = "m_scriptCanvasData"; - m_baseDataElement.m_nameCrc = AZ_CRC("m_scriptCanvasData", 0x78a93f93); - m_baseDataElement.m_typeId = AZ::SerializeGenericTypeInfo::GetClassTypeId(); - m_baseDataElement.m_offset = m_assetElement.m_offset + m_assetElement.m_dataSize; - m_baseDataElement.m_dataSize = sizeof(ScriptCanvas::ScriptCanvasData); - m_baseDataElement.m_azRtti = AZ::GetRttiHelper(); - m_baseDataElement.m_genericClassInfo = AZ::SerializeGenericTypeInfo::GetGenericInfo(); - m_baseDataElement.m_editData = nullptr; - m_baseDataElement.m_flags = 0; - } - /// Null if element with this name can't be found. - const AZ::SerializeContext::ClassElement* GetElement(AZ::u32 elementNameCrc) const override - { - if (m_storeInObjectStreamElement.m_nameCrc == elementNameCrc) - { - return &m_storeInObjectStreamElement; - } - if (m_assetElement.m_nameCrc == elementNameCrc) - { - return &m_assetElement; - } - if (m_baseDataElement.m_nameCrc == elementNameCrc) - { - return &m_baseDataElement; - } - - return nullptr; - } - - bool GetElement(AZ::SerializeContext::ClassElement& classElement, const AZ::SerializeContext::DataElement& dataElement) const override - { - if (m_storeInObjectStreamElement.m_nameCrc == dataElement.m_nameCrc) - { - classElement = m_storeInObjectStreamElement; - return true; - } - if (m_assetElement.m_nameCrc == dataElement.m_nameCrc) - { - classElement = m_assetElement; - return true; - } - if (m_baseDataElement.m_nameCrc == dataElement.m_nameCrc) - { - classElement = m_baseDataElement; - return true; - } - return false; - } - - /// Enumerate elements in the array. - void EnumElements(void* instance, const ElementCB& cb) override - { - auto assetRef = reinterpret_cast(instance); - - if (!cb(&assetRef->m_storeInObjectStream, m_storeInObjectStreamElement.m_typeId, m_storeInObjectStreamElement.m_genericClassInfo ? m_storeInObjectStreamElement.m_genericClassInfo->GetClassData() : nullptr, &m_storeInObjectStreamElement)) - { - return; - } - - if (!cb(&assetRef->m_asset, m_assetElement.m_typeId, m_assetElement.m_genericClassInfo ? m_assetElement.m_genericClassInfo->GetClassData() : nullptr, &m_assetElement)) - { - return; - } - - if (assetRef->m_storeInObjectStream && assetRef->m_asset.Get()) - { - cb(&assetRef->m_asset.Get()->GetScriptCanvasData(), m_baseDataElement.m_typeId, m_baseDataElement.m_genericClassInfo ? m_baseDataElement.m_genericClassInfo->GetClassData() : nullptr, &m_baseDataElement); - } - } - - void EnumTypes(const ElementTypeCB& cb) override - { - cb(m_storeInObjectStreamElement.m_typeId, &m_storeInObjectStreamElement); - cb(m_assetElement.m_typeId, &m_assetElement); - cb(m_baseDataElement.m_typeId, &m_baseDataElement); - } - - /// Return number of elements in the container. - size_t Size(void* instance) const override - { - auto assetRef = reinterpret_cast(instance); - return assetRef->m_storeInObjectStream && assetRef->m_asset.Get() ? m_numClassElements : m_numClassElements - 1; - } - - /// Returns the capacity of the container. Returns 0 for objects without fixed capacity. - size_t Capacity(void*) const override - { - return m_numClassElements; - } - - /// Returns true if elements pointers don't change on add/remove. If false you MUST enumerate all elements. - bool IsStableElements() const override { return true; } - - /// Returns true if the container is fixed size, otherwise false. - bool IsFixedSize() const override { return false; } - - /// Returns if the container is fixed capacity, otherwise false - bool IsFixedCapacity() const override { return true; } - - /// Returns true if the container is a smart pointer. - bool IsSmartPointer() const override { return false; } - - /// Returns true if elements can be retrieved by index. - bool CanAccessElementsByIndex() const override { return false; } - - /// Reserve element - void* ReserveElement(void* instance, const AZ::SerializeContext::ClassElement* classElement) override - { - auto assetRef = reinterpret_cast(instance); - if (classElement->m_nameCrc == m_storeInObjectStreamElement.m_nameCrc) - { - return &assetRef->m_storeInObjectStream; - } - if (classElement->m_nameCrc == m_assetElement.m_nameCrc) - { - if (assetRef->m_storeInObjectStream) - { - assetRef->m_asset.SetFlags(static_cast(AZ::Data::AssetLoadBehavior::NoLoad)); - } - return &assetRef->m_asset; - } - if (assetRef->m_storeInObjectStream && classElement->m_nameCrc == m_baseDataElement.m_nameCrc) - { - auto* scriptCanvasAsset = aznew ScriptCanvasAsset(assetRef->m_asset.GetId(), AZ::Data::AssetData::AssetStatus::Ready); - assetRef->m_asset = { scriptCanvasAsset, AZ::Data::AssetLoadBehavior::Default }; - return &assetRef->m_asset.Get()->GetScriptCanvasData(); - } - - return instance; - } - - /// Get an element's address by its index (called before the element is loaded). - void* GetElementByIndex(void*, const AZ::SerializeContext::ClassElement*, size_t) override - { - return nullptr; - } - - /// Store element - void StoreElement(void* instance, void* element) override - { - auto assetRef = reinterpret_cast(instance); - if (assetRef->m_storeInObjectStream && assetRef->m_asset.Get() && element == &assetRef->m_asset.Get()->GetScriptCanvasData()) - { - auto existingAsset = AZ::Data::AssetManager::Instance().FindAsset(assetRef->m_asset.GetId(), assetRef->m_asset.GetAutoLoadBehavior()); - if (existingAsset.IsReady()) - { - assetRef->m_asset = existingAsset; - } - } - } - - /// Remove element in the container. - bool RemoveElement(void* instance, const void* element, AZ::SerializeContext* deletePointerDataContext) override - { - if (deletePointerDataContext) - { - auto assetRef = reinterpret_cast(instance); - if (&assetRef->m_storeInObjectStream == element) - { - DeletePointerData(deletePointerDataContext, &m_storeInObjectStreamElement, &assetRef->m_storeInObjectStream); - } - else if (&assetRef->m_asset == element) - { - DeletePointerData(deletePointerDataContext, &m_assetElement, &assetRef->m_asset); - } - } - return false; - } - - /// Remove elements (removed array of elements) regardless if the container is Stable or not (IsStableElements) - size_t RemoveElements(void* instance, const void** elements, size_t numElements, AZ::SerializeContext* deletePointerDataContext) override - { - if (deletePointerDataContext) - { - for (size_t i = 0; i < numElements; ++i) - { - RemoveElement(instance, elements[i], deletePointerDataContext); - } - } - return 0; - } - - /// Clear elements in the instance. - void ClearElements(void*, AZ::SerializeContext*) override - { - } - - AZ::SerializeContext::ClassElement m_storeInObjectStreamElement; - AZ::SerializeContext::ClassElement m_assetElement; - AZ::SerializeContext::ClassElement m_baseDataElement; - const size_t m_numClassElements = 3; - }; -} diff --git a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetTracker.cpp b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetTracker.cpp index 4979f5e0e8..24d9aa5ba7 100644 --- a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetTracker.cpp +++ b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetTracker.cpp @@ -22,7 +22,6 @@ #include #include -#include #include #include diff --git a/Gems/ScriptCanvas/Code/Editor/Components/EditorGraph.cpp b/Gems/ScriptCanvas/Code/Editor/Components/EditorGraph.cpp index a8dd5904fc..8078ef7a78 100644 --- a/Gems/ScriptCanvas/Code/Editor/Components/EditorGraph.cpp +++ b/Gems/ScriptCanvas/Code/Editor/Components/EditorGraph.cpp @@ -60,7 +60,6 @@ AZ_POP_DISABLE_WARNING #include #include -#include #include #include #include @@ -3127,16 +3126,6 @@ namespace ScriptCanvasEditor } } - bool Graph::IsRuntimeGraph() const - { - return GetAssetType() == azrtti_typeid(); - } - - bool Graph::IsFunctionGraph() const - { - return GetAssetType() == azrtti_typeid(); - } - bool Graph::CanExposeEndpoint(const GraphCanvas::Endpoint& endpoint) { bool isEnabled = false; diff --git a/Gems/ScriptCanvas/Code/Editor/Framework/ScriptCanvasGraphUtilities.inl b/Gems/ScriptCanvas/Code/Editor/Framework/ScriptCanvasGraphUtilities.inl index 0eb3c3a719..96febf8553 100644 --- a/Gems/ScriptCanvas/Code/Editor/Framework/ScriptCanvasGraphUtilities.inl +++ b/Gems/ScriptCanvas/Code/Editor/Framework/ScriptCanvasGraphUtilities.inl @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include diff --git a/Gems/ScriptCanvas/Code/Editor/Framework/ScriptCanvasTraceUtilities.h b/Gems/ScriptCanvas/Code/Editor/Framework/ScriptCanvasTraceUtilities.h index b3c4993063..7b6b99d967 100644 --- a/Gems/ScriptCanvas/Code/Editor/Framework/ScriptCanvasTraceUtilities.h +++ b/Gems/ScriptCanvas/Code/Editor/Framework/ScriptCanvasTraceUtilities.h @@ -42,17 +42,6 @@ namespace ScriptCanvasEditor { class ScriptCanvasAsset; - struct LoadTestFunctionResult - { - AZStd::string_view m_graphPath; - AZStd::unique_ptr m_entity; - ScriptCanvas::RuntimeComponent* m_runtimeComponent = nullptr; - bool m_nativeFunctionFound = false; - AZ::Data::Asset m_editorAsset; - AZ::Data::Asset m_runtimeAsset; - AZ::Data::Asset m_scriptAsset; - }; - struct LoadTestGraphResult { AZStd::string_view m_graphPath; diff --git a/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/FunctionNodeDescriptorComponent.h b/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/FunctionNodeDescriptorComponent.h index d121762c93..68782be5cd 100644 --- a/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/FunctionNodeDescriptorComponent.h +++ b/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/FunctionNodeDescriptorComponent.h @@ -10,8 +10,6 @@ #include #include - -#include #include #include diff --git a/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Assets/Functions/ScriptCanvasFunctionAssetHandler.h b/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Assets/Functions/ScriptCanvasFunctionAssetHandler.h deleted file mode 100644 index f9953aba99..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Assets/Functions/ScriptCanvasFunctionAssetHandler.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#pragma once - -#include -#include -#include -#include -#include -#include - -namespace AZ -{ - class SerializeContext; -} - -namespace ScriptCanvasEditor -{ - class ScriptCanvasFunctionAsset; - - /** - * Manages editor Script Canvas graph assets. - */ - class ScriptCanvasFunctionAssetHandler - : public ScriptCanvasAssetHandler - { - public: - AZ_CLASS_ALLOCATOR(ScriptCanvasFunctionAssetHandler, AZ::SystemAllocator, 0); - AZ_RTTI(ScriptCanvasFunctionAssetHandler, "{CE1EB0B7-D8DA-4B9B-858B-A34DF5092BC2}", ScriptCanvasAssetHandler); - - ScriptCanvasFunctionAssetHandler(AZ::SerializeContext* context = nullptr); - ~ScriptCanvasFunctionAssetHandler(); - - AZ::Data::AssetPtr CreateAsset(const AZ::Data::AssetId& id, const AZ::Data::AssetType& type) override; - AZ::Data::AssetHandler::LoadResult LoadAssetData( - const AZ::Data::Asset& asset, - AZStd::shared_ptr stream, - const AZ::Data::AssetFilterCB& assetLoadFilterCB) override; - bool SaveAssetData(const AZ::Data::Asset& asset, AZ::IO::GenericStream* stream) override; - - bool SaveAssetData(const ScriptCanvasEditor::ScriptCanvasFunctionAsset* assetData, AZ::IO::GenericStream* stream); - - bool SaveAssetData(const ScriptCanvasEditor::ScriptCanvasFunctionAsset* assetData, AZ::IO::GenericStream* stream, AZ::DataStream::StreamType streamType); - - // Called by asset database on registration. - void GetAssetTypeExtensions(AZStd::vector& extensions) override; - void GetHandledAssetTypes(AZStd::vector& assetTypes) override; - - // Provides editor with information about script canvas graph assets. - AZ::Data::AssetType GetAssetType() const override; - const char* GetAssetTypeDisplayName() const override; - - bool CanCreateComponent(const AZ::Data::AssetId& assetId) const override; - - const char* GetGroup() const override; - const char* GetBrowserIcon() const override; - - static AZ::Data::AssetType GetAssetTypeStatic(); - - ScriptCanvasEditor::ScriptCanvasFunctionAsset* m_scriptCanvasAsset; - - }; -} diff --git a/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Bus/EditorScriptCanvasBus.h b/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Bus/EditorScriptCanvasBus.h index d9b2be8035..27477b4127 100644 --- a/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Bus/EditorScriptCanvasBus.h +++ b/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Bus/EditorScriptCanvasBus.h @@ -154,10 +154,6 @@ namespace ScriptCanvasEditor virtual bool ConvertReferenceToVariableNode(const GraphCanvas::Endpoint& endpoint) = 0; virtual void QueueVersionUpdate(const AZ::EntityId& graphCanvasNodeId) = 0; - - virtual bool IsRuntimeGraph() const = 0; - virtual bool IsFunctionGraph() const = 0; - virtual bool CanExposeEndpoint(const GraphCanvas::Endpoint& endpoint) = 0; virtual ScriptCanvas::Endpoint ConvertToScriptCanvasEndpoint(const GraphCanvas::Endpoint& endpoinnt) const = 0; diff --git a/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Components/EditorGraph.h b/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Components/EditorGraph.h index 777a84c4fa..8b01177f79 100644 --- a/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Components/EditorGraph.h +++ b/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Components/EditorGraph.h @@ -267,9 +267,6 @@ namespace ScriptCanvasEditor void QueueVersionUpdate(const AZ::EntityId& graphCanvasNodeId) override; - bool IsRuntimeGraph() const override; - bool IsFunctionGraph() const override; - bool CanExposeEndpoint(const GraphCanvas::Endpoint& endpoint) override; ScriptCanvas::Endpoint ConvertToScriptCanvasEndpoint(const GraphCanvas::Endpoint& endpoint) const override; diff --git a/Gems/ScriptCanvas/Code/Editor/Nodes/EditorLibrary.cpp b/Gems/ScriptCanvas/Code/Editor/Nodes/EditorLibrary.cpp deleted file mode 100644 index fcdc7b2780..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Nodes/EditorLibrary.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ -#include "precompiled.h" - -#include - -#include -#include - - -namespace ScriptCanvasEditor -{ - namespace Library - { - void Editor::Reflect(AZ::ReflectContext* reflection) - { - AZ::SerializeContext* serializeContext = azrtti_cast(reflection); - if (serializeContext) - { - serializeContext->Class() - ->Version(1) - ; - - AZ::EditContext* editContext = serializeContext->GetEditContext(); - if (editContext) - { - editContext->Class("Editor", "") - ->ClassElement(AZ::Edit::ClassElements::EditorData, "") - ->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/All.png") - ; - } - } - } - - void Editor::InitNodeRegistry(ScriptCanvas::NodeRegistry& nodeRegistry) - { - ScriptCanvas::Library::AddNodeToRegistry(nodeRegistry); - } - - AZStd::vector Editor::GetComponentDescriptors() - { - return AZStd::vector({ - ScriptCanvasAssetNode::CreateDescriptor(), - }); - } - } - - AZStd::vector GetLibraryDescriptors() - { - return Library::Editor::GetComponentDescriptors(); - } -} diff --git a/Gems/ScriptCanvas/Code/Editor/Nodes/EditorLibrary.h b/Gems/ScriptCanvas/Code/Editor/Nodes/EditorLibrary.h deleted file mode 100644 index 4ea81a869a..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Nodes/EditorLibrary.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ -#pragma once - -#include - -namespace AZ -{ - class ReflectContext; - class ComponentDescriptor; -} - -namespace ScriptCanvasEditor -{ - namespace Library - { - struct Editor : public ScriptCanvas::Library::LibraryDefinition - { - AZ_RTTI(Editor, "{59697735-4B64-4DC5-8380-02B2999FFCFE}", ScriptCanvas::Library::LibraryDefinition); - - static void Reflect(AZ::ReflectContext*); - static void InitNodeRegistry(ScriptCanvas::NodeRegistry& nodeRegistry); - static AZStd::vector GetComponentDescriptors(); - }; - } - - AZStd::vector GetLibraryDescriptors(); -} diff --git a/Gems/ScriptCanvas/Code/Editor/Nodes/ScriptCanvasAssetNode.cpp b/Gems/ScriptCanvas/Code/Editor/Nodes/ScriptCanvasAssetNode.cpp deleted file mode 100644 index 9363d5a337..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Nodes/ScriptCanvasAssetNode.cpp +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#include "precompiled.h" -#include - -#include -#include - -namespace ScriptCanvasEditor -{ - /** - * \note when we reflecting we can check if the class is inheriting from IEventHandler - * and use the this->events. - */ - class ScriptCanvasAssetNodeEventHandler - : public AZ::SerializeContext::IEventHandler - { - void OnReadBegin(void* classPtr) - { - auto* scriptCanvasAssetNode = reinterpret_cast(classPtr); - scriptCanvasAssetNode->ComputeDataPatch(); - } - }; - - void ScriptCanvasAssetNode::Reflect(AZ::ReflectContext* context) - { - AZ::SerializeContext* serializeContext = azrtti_cast(context); - if (!serializeContext) - { - return; - } - - serializeContext->Class() - ->Version(0) - ->EventHandler() - ->Field("m_assetInstance", &ScriptCanvasAssetNode::m_scriptCanvasAssetInstance) - ; - - if (AZ::EditContext* editContext = serializeContext->GetEditContext()) - { - editContext->Class("ScriptCanvas Asset", "Script Canvas Asset Node which contains a reference to another ScriptCanvas graph") - ->ClassElement(AZ::Edit::ClassElements::EditorData, "") - ->Attribute(AZ::Edit::Attributes::Icon, "Icons/ScriptCanvas/Placeholder.png") - ->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::List) - ; - } - } - - ScriptCanvasAssetNode::ScriptCanvasAssetNode(const AZ::Data::Asset& scriptCanvasAsset, bool storeAssetDataInternally) - { - SetAssetDataStoredInternally(storeAssetDataInternally); - SetAsset(scriptCanvasAsset); - } - - ScriptCanvasAssetNode::~ScriptCanvasAssetNode() - { - } - - void ScriptCanvasAssetNode::OnInit() - { - if (GetAsset().GetId().IsValid()) - { - AZ::Data::AssetBus::Handler::BusConnect(GetAsset().GetId()); - AZ::Entity* scriptCanvasEntity = GetScriptCanvasEntity(); - if (scriptCanvasEntity) - { - if (scriptCanvasEntity->GetState() == AZ::Entity::State::Constructed) - { - scriptCanvasEntity->Init(); - } - if (scriptCanvasEntity->GetState() == AZ::Entity::State::Init) - { - scriptCanvasEntity->Activate(); - } - } - } - } - - bool ScriptCanvasAssetNode::GetAssetDataStoredInternally() const - { - return m_scriptCanvasAssetInstance.GetReference().GetAssetDataStoredInternally(); - } - - void ScriptCanvasAssetNode::SetAssetDataStoredInternally(bool storeInObjectStream) - { - m_scriptCanvasAssetInstance.GetReference().SetAssetDataStoredInternally(storeInObjectStream); - } - - ScriptCanvas::ScriptCanvasData& ScriptCanvasAssetNode::GetScriptCanvasData() - { - return m_scriptCanvasAssetInstance.GetScriptCanvasData(); - } - - const ScriptCanvas::ScriptCanvasData& ScriptCanvasAssetNode::GetScriptCanvasData() const - { - return m_scriptCanvasAssetInstance.GetScriptCanvasData(); - } - - AZ::Entity* ScriptCanvasAssetNode::GetScriptCanvasEntity() const - { - return GetScriptCanvasData().GetScriptCanvasEntity(); - } - - AZ::Data::Asset& ScriptCanvasAssetNode::GetAsset() - { - return m_scriptCanvasAssetInstance.GetReference().GetAsset(); - } - - const AZ::Data::Asset& ScriptCanvasAssetNode::GetAsset() const - { - return m_scriptCanvasAssetInstance.GetReference().GetAsset(); - } - - void ScriptCanvasAssetNode::SetAsset(const AZ::Data::Asset& scriptCanvasAsset) - { - m_scriptCanvasAssetInstance.GetReference().SetAsset(scriptCanvasAsset); - if (scriptCanvasAsset.GetId().IsValid()) - { - auto onAssetReady = [](ScriptCanvasMemoryAsset&) {}; - AssetTrackerRequestBus::Broadcast(&AssetTrackerRequests::Load, scriptCanvasAsset.GetId(), azrtti_typeid(), onAssetReady); - - AZ::Data::AssetBus::Handler::BusConnect(scriptCanvasAsset.GetId()); - ApplyDataPatch(); - } - } - - void ScriptCanvasAssetNode::OnAssetReloaded(AZ::Data::Asset asset) - { - SetAsset(asset); - if (!GetAsset().IsReady()) - { - AZ_Error("Script Canvas", false, "Reloaded graph with id %s is not valid", asset.GetId().ToString().data()); - return; - } - - // Update data patches against the old version of the asset. - ApplyDataPatch(); - } - - void ScriptCanvasAssetNode::OnAssetUnloaded(const AZ::Data::AssetId assetId, const AZ::Data::AssetType) - { - AZ::Data::AssetBus::Handler::BusDisconnect(assetId); - } - - void ScriptCanvasAssetNode::ComputeDataPatch() - { - m_scriptCanvasAssetInstance.ComputeDataPatch(); - } - - void ScriptCanvasAssetNode::ApplyDataPatch() - { - m_scriptCanvasAssetInstance.ApplyDataPatch(); - } - - bool ScriptCanvasAssetNode::Visit(const VisitCB& preVisitCB, const VisitCB & postVisitCB) - { - AZStd::unordered_set visitedGraphs; - return Visit(preVisitCB, postVisitCB, visitedGraphs); - } - - bool ScriptCanvasAssetNode::Visit(const VisitCB& preVisitCB, const VisitCB & postVisitCB, AZStd::unordered_set& visitedGraphs) - { - const AZ::Data::AssetId& visitedAssetId = GetAsset().GetId(); - if (visitedGraphs.count(visitedAssetId) > 0) - { - AZ_Error("Script Canvas", false, "The Script Canvas Asset %s has already been visited, processing will stop", visitedAssetId.ToString().data()); - return false; - } - - if (!preVisitCB || preVisitCB(*this)) - { - auto graph = GetScriptCanvasEntity() ? AZ::EntityUtils::FindFirstDerivedComponent(GetScriptCanvasEntity()) : nullptr; - if (graph) - { - for (AZ::Entity* nodeEntity : graph->GetNodeEntities()) - { - if (auto childAssetNode = AZ::EntityUtils::FindFirstDerivedComponent(nodeEntity)) - { - // Visit ScriptCanvasAssetNodes that are in the asset referenced by @assetNode - if (!childAssetNode->Visit(preVisitCB, postVisitCB, visitedGraphs)) - { - break; - } - - } - } - } - } - - // Visit siblings ScriptCanvasAssetNodes - bool visitSiblings = !postVisitCB || postVisitCB(*this); - visitedGraphs.insert(visitedAssetId); - return visitSiblings; - } -} diff --git a/Gems/ScriptCanvas/Code/Editor/Nodes/ScriptCanvasAssetNode.h b/Gems/ScriptCanvas/Code/Editor/Nodes/ScriptCanvasAssetNode.h deleted file mode 100644 index 5b3e07cfbd..0000000000 --- a/Gems/ScriptCanvas/Code/Editor/Nodes/ScriptCanvasAssetNode.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#pragma once - -#include - -#include -#include -#include -#include - -namespace ScriptCanvasEditor -{ - //! A group of entities in a scene - class ScriptCanvasAssetNode - : public ScriptCanvas::Node - , protected AZ::Data::AssetBus::Handler - { - public: - AZ_COMPONENT(ScriptCanvasAssetNode, "{65A34956-B6ED-4EB2-966C-5BC844F7B05E}", ScriptCanvas::Node); - - static void Reflect(AZ::ReflectContext* context); - - ScriptCanvasAssetNode() = default; - ScriptCanvasAssetNode(const AZ::Data::Asset& scriptCanvasAsset, bool storeAssetDataInternally); - ~ScriptCanvasAssetNode() override; - - // AZ::Component - static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) - { - provided.push_back(AZ_CRC("ScriptCanvas_AssetService", 0x17a357ae)); - } - - static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible) - { - incompatible.push_back(AZ_CRC("ScriptCanvas_AssetService", 0x17a357ae)); - } - - static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent) - { - (void)dependent; - } - - static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required) - { - (void)required; - } - //// - - void OnInit() override; - - // Retrieves the asset associated with this node - AZ::Data::Asset& GetAsset(); - const AZ::Data::Asset& GetAsset() const; - // Sets the asset associated with this node - void SetAsset(const AZ::Data::Asset& scriptCanvasAsset); - - bool GetAssetDataStoredInternally() const; - void SetAssetDataStoredInternally(bool storeInObjectStream); - - ScriptCanvas::ScriptCanvasData& GetScriptCanvasData(); - const ScriptCanvas::ScriptCanvasData& GetScriptCanvasData() const; - - AZ::Entity* GetScriptCanvasEntity() const; - - using VisitCB = AZStd::function; - bool Visit(const VisitCB& preVisitCB, const VisitCB & postVisitCB); - bool Visit(const VisitCB& preVisitCB, const VisitCB & postVisitCB, AZStd::unordered_set& visitedGraphs); - //// - - protected: - // AssetBus::Handler - void OnAssetReloaded(AZ::Data::Asset asset) override; - void OnAssetUnloaded(const AZ::Data::AssetId assetId, const AZ::Data::AssetType) override; - //// - - friend class ScriptCanvasAssetNodeEventHandler; - void ComputeDataPatch(); - void ApplyDataPatch(); - - private: - ScriptCanvasAssetNode(const ScriptCanvasAssetNode&) = delete; - //! References to the Script Canvas asset used by this component - ScriptCanvasAssetInstance m_scriptCanvasAssetInstance; - }; -} diff --git a/Gems/ScriptCanvas/Code/Editor/ReflectComponent.cpp b/Gems/ScriptCanvas/Code/Editor/ReflectComponent.cpp index 2d45f0c644..435aa27331 100644 --- a/Gems/ScriptCanvas/Code/Editor/ReflectComponent.cpp +++ b/Gems/ScriptCanvas/Code/Editor/ReflectComponent.cpp @@ -13,10 +13,6 @@ #include #include -#include -#include - -#include #include #include @@ -36,12 +32,9 @@ namespace ScriptCanvasEditor void ReflectComponent::Reflect(AZ::ReflectContext* context) { ScriptCanvas::ScriptCanvasData::Reflect(context); - ScriptCanvasAssetReference::Reflect(context); - ScriptCanvasAssetInstance::Reflect(context); ScriptCanvasAssetHolder::Reflect(context); EditorSettings::EditorWorkspace::Reflect(context); EditorSettings::ScriptCanvasEditorSettings::Reflect(context); - Library::Editor::Reflect(context); LiveLoggingUserSettings::Reflect(context); UndoData::Reflect(context); diff --git a/Gems/ScriptCanvas/Code/Editor/ScriptCanvasEditorGem.cpp b/Gems/ScriptCanvas/Code/Editor/ScriptCanvasEditorGem.cpp index a9aa8cd0e9..d462695025 100644 --- a/Gems/ScriptCanvas/Code/Editor/ScriptCanvasEditorGem.cpp +++ b/Gems/ScriptCanvas/Code/Editor/ScriptCanvasEditorGem.cpp @@ -35,7 +35,6 @@ #include #include -#include #include #include @@ -118,7 +117,6 @@ namespace ScriptCanvas auto libraryDescriptors = ScriptCanvasEditor::GetLibraryDescriptors(); m_descriptors.insert(m_descriptors.end(), libraryDescriptors.begin(), libraryDescriptors.end()); - ScriptCanvasEditor::Library::Editor::InitNodeRegistry(GetNodeRegistry().Get()); } AZ::ComponentTypeList ScriptCanvasModule::GetRequiredSystemComponents() const diff --git a/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp b/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp index 6ab9c9b640..a451787ede 100644 --- a/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp +++ b/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp @@ -47,8 +47,6 @@ #include #include -#include - namespace ScriptCanvasEditor { static const size_t cs_jobThreads = 1; @@ -332,12 +330,6 @@ namespace ScriptCanvasEditor isScriptCanvasAsset = true; } - ScriptCanvasFunctionDescription scriptCanvasFunctionAssetDescription; - if (!isScriptCanvasAsset && AZStd::wildcard_match(AZStd::string::format("*%s", scriptCanvasFunctionAssetDescription.GetExtensionImpl()).c_str(), fullSourceFileName)) - { - isScriptCanvasAsset = true; - } - if (isScriptCanvasAsset) { auto scriptCanvasEditorCallback = [this]([[maybe_unused]] const char* fullSourceFileNameInCall, const AZ::Uuid& sourceUUIDInCall) @@ -412,7 +404,7 @@ namespace ScriptCanvasEditor nullptr, [this](const AZ::Data::AssetId, const AZ::Data::AssetInfo& assetInfo) { - if (assetInfo.m_assetType == azrtti_typeid() || assetInfo.m_assetType == azrtti_typeid()) + if (assetInfo.m_assetType == azrtti_typeid()) { AddAssetToUpgrade(assetInfo); } @@ -456,11 +448,7 @@ namespace ScriptCanvasEditor if (query == m_assetsToConvert.end()) { - if (assetInfo.m_assetType == azrtti_typeid()) - { - m_assetsToConvert.push_front(assetInfo); - } - else if (assetInfo.m_assetType == azrtti_typeid()) + if (assetInfo.m_assetType == azrtti_typeid()) { m_assetsToConvert.push_back(assetInfo); } diff --git a/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/FunctionNodePaletteTreeItemTypes.h b/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/FunctionNodePaletteTreeItemTypes.h index 26b2eb27d6..8ae511934c 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/FunctionNodePaletteTreeItemTypes.h +++ b/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/FunctionNodePaletteTreeItemTypes.h @@ -15,9 +15,6 @@ #include #include - -#include - #include #include diff --git a/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp b/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp index 9c9a19cd9c..0dada0f7aa 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp @@ -1316,56 +1316,6 @@ namespace ScriptCanvasEditor return identifiers; } - AZStd::vector NodePaletteModel::RegisterFunctionInformation(ScriptCanvasFunctionAsset* functionAsset) - { - const AZ::Data::AssetId& assetId = functionAsset->GetId(); - - FunctionNodeModelInformation* modelInformation = aznew FunctionNodeModelInformation(); - - modelInformation->m_functionAssetId = assetId; - modelInformation->m_titlePaletteOverride = "FunctionNodeTitlePalette"; - modelInformation->m_nodeIdentifier = ScriptCanvas::NodeUtils::ConstructFunctionNodeIdentifier(assetId); - - // Temporary until I drive data from the function asset itself - AZStd::string rootPath; - AZ::Data::AssetInfo assetInfo = AssetHelpers::GetAssetInfo(assetId, rootPath); - AZStd::string absolutePath; - - AzFramework::StringFunc::Path::Join(rootPath.c_str(), assetInfo.m_relativePath.c_str(), absolutePath); - - AZStd::string category = "User Functions"; - AZStd::string relativePath; - - if (AzFramework::StringFunc::Path::GetFolderPath(assetInfo.m_relativePath.c_str(), relativePath)) - { - AZStd::to_lower(relativePath.begin(), relativePath.end()); - - const AZStd::string root = "scriptcanvas/functions/"; - if (relativePath.starts_with(root)) - { - relativePath = relativePath.substr(root.size(), relativePath.size() - root.size()); - } - - category.append("/"); - category.append(relativePath); - } - - modelInformation->m_categoryPath = category; - - AzFramework::StringFunc::Path::Normalize(absolutePath); - - AzFramework::StringFunc::Path::GetFileName(absolutePath.c_str(), modelInformation->m_displayName); - //// - - m_registeredNodes.emplace(AZStd::make_pair(modelInformation->m_nodeIdentifier, modelInformation)); - m_assetMapping.insert(AZStd::make_pair(assetId, modelInformation->m_nodeIdentifier)); - - AZStd::vector nodeTypeIdentifiers; - nodeTypeIdentifiers.push_back(modelInformation->m_nodeIdentifier); - - return nodeTypeIdentifiers; - } - void NodePaletteModel::RegisterCategoryInformation(const AZStd::string& category, const CategoryInformation& categoryInformation) { auto categoryIter = m_categoryInformation.find(category); @@ -1552,24 +1502,6 @@ namespace ScriptCanvasEditor AZ_TracePrintf("NodePaletteModel", "Could not refresh node palette properly, the asset failed to load correctly."); } } - else if (productEntry->GetAssetType() == azrtti_typeid()) - { - const AZ::Data::AssetId& assetId = productEntry->GetAssetId(); - - auto functionAsset = AZ::Data::AssetManager::Instance().GetAsset(assetId, azrtti_typeid(), AZ::Data::AssetLoadBehavior::PreLoad); - functionAsset.BlockUntilLoadComplete(); - - if (functionAsset.IsReady()) - { - ScriptCanvasFunctionAsset* data = functionAsset.GetAs(); - - return RegisterFunctionInformation(data); - } - else - { - AZ_TracePrintf("NodePaletteModel", "Could not refresh node palette properly, the asset failed to load correctly."); - } - } } } diff --git a/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.h b/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.h index 2286e8e453..03da4cea27 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.h +++ b/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.h @@ -22,7 +22,6 @@ #include -#include #include #include @@ -87,7 +86,6 @@ namespace ScriptCanvasEditor // Asset Based Registrations AZStd::vector RegisterScriptEvent(ScriptEvents::ScriptEventsAsset* scriptEventAsset); - AZStd::vector RegisterFunctionInformation(ScriptCanvasFunctionAsset* functionAsset); void RegisterCategoryInformation(const AZStd::string& category, const CategoryInformation& categoryInformation); const CategoryInformation* FindCategoryInformation(const AZStd::string& categoryStyle) const; diff --git a/Gems/ScriptCanvas/Code/Editor/View/Widgets/ScriptCanvasNodePaletteDockWidget.cpp b/Gems/ScriptCanvas/Code/Editor/View/Widgets/ScriptCanvasNodePaletteDockWidget.cpp index dfeb439c3d..3afa9100d0 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Widgets/ScriptCanvasNodePaletteDockWidget.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Widgets/ScriptCanvasNodePaletteDockWidget.cpp @@ -223,7 +223,7 @@ namespace ScriptCanvasEditor void ScriptCanvasRootPaletteTreeItem::SetActiveScriptCanvasId(const ScriptCanvas::ScriptCanvasId& scriptCanvasId) { - ScriptCanvas::RuntimeRequestBus::EventResult(m_previousAssetId, scriptCanvasId, &ScriptCanvas::GraphRequests::GetAssetId); + ScriptCanvas::GraphRequestBus::EventResult(m_previousAssetId, scriptCanvasId, &ScriptCanvas::GraphRequests::GetAssetId); for (auto functionTreePair : m_globalFunctionTreeItems) { diff --git a/Gems/ScriptCanvas/Code/Editor/View/Widgets/StatisticsDialog/ScriptCanvasStatisticsDialog.cpp b/Gems/ScriptCanvas/Code/Editor/View/Widgets/StatisticsDialog/ScriptCanvasStatisticsDialog.cpp index caa39d4ca4..7aa03224e4 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Widgets/StatisticsDialog/ScriptCanvasStatisticsDialog.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Widgets/StatisticsDialog/ScriptCanvasStatisticsDialog.cpp @@ -16,7 +16,6 @@ #include #include -#include #include namespace @@ -181,8 +180,7 @@ namespace ScriptCanvasEditor { AZ::Data::AssetInfo assetInfo; AZ::Data::AssetCatalogRequestBus::BroadcastResult(assetInfo, &AZ::Data::AssetCatalogRequestBus::Events::GetAssetInfoById, assetId); - if (assetInfo.m_assetType == azrtti_typeid() - || assetInfo.m_assetType == azrtti_typeid()) + if (assetInfo.m_assetType == azrtti_typeid()) { m_scriptCanvasAssetTreeRoot->RegisterAsset(assetId, assetInfo.m_assetType); } @@ -197,8 +195,7 @@ namespace ScriptCanvasEditor { AZ::Data::AssetInfo assetInfo; AZ::Data::AssetCatalogRequestBus::BroadcastResult(assetInfo, &AZ::Data::AssetCatalogRequestBus::Events::GetAssetInfoById, assetId); - if (assetInfo.m_assetType == azrtti_typeid() - || assetInfo.m_assetType == azrtti_typeid()) + if (assetInfo.m_assetType == azrtti_typeid()) { m_scriptCanvasAssetTreeRoot->RemoveAsset(assetId); } @@ -440,8 +437,7 @@ namespace ScriptCanvasEditor { const AzToolsFramework::AssetBrowser::ProductAssetBrowserEntry* productEntry = static_cast(entry); - if (productEntry->GetAssetType() == azrtti_typeid() - || productEntry->GetAssetType() == azrtti_typeid()) + if (productEntry->GetAssetType() == azrtti_typeid()) { const AZ::Data::AssetId& assetId = productEntry->GetAssetId(); diff --git a/Gems/ScriptCanvas/Code/Editor/View/Widgets/VariablePanel/GraphVariablesTableView.cpp b/Gems/ScriptCanvas/Code/Editor/View/Widgets/VariablePanel/GraphVariablesTableView.cpp index aad178b91d..95e782c137 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Widgets/VariablePanel/GraphVariablesTableView.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Widgets/VariablePanel/GraphVariablesTableView.cpp @@ -1053,9 +1053,6 @@ namespace ScriptCanvasEditor AZ::SerializeContext* serializeContext = AZ::EntityUtils::GetApplicationSerializeContext(); AZ::Utils::LoadObjectFromBufferInPlace(byteArray.constData(), static_cast(byteArray.size()), copiedVariableData, serializeContext); - bool isRuntimeGraph = false; - EditorGraphRequestBus::EventResult(isRuntimeGraph, scriptCanvasId, &EditorGraphRequests::IsRuntimeGraph); - ScriptCanvas::GraphVariableManagerRequests* requests = ScriptCanvas::GraphVariableManagerRequestBus::FindFirstHandler(scriptCanvasId); if (requests == nullptr) diff --git a/Gems/ScriptCanvas/Code/Editor/View/Widgets/VariablePanel/VariableDockWidget.cpp b/Gems/ScriptCanvas/Code/Editor/View/Widgets/VariablePanel/VariableDockWidget.cpp index 9307084e2a..a6ae834f3e 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Widgets/VariablePanel/VariableDockWidget.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Widgets/VariablePanel/VariableDockWidget.cpp @@ -758,7 +758,7 @@ namespace ScriptCanvasEditor auto owningGraph = ScriptCanvas::GraphRequestBus::FindFirstHandler(m_scriptCanvasId); - if (runtimeRequests == nullptr) + if (owningGraph == nullptr) { return; } @@ -769,7 +769,7 @@ namespace ScriptCanvasEditor if (propertiesComponent) { - ScriptCanvas::GraphVariable* graphVariable = runtimeRequests->FindVariableById(varId);; + ScriptCanvas::GraphVariable* graphVariable = owningGraph->FindVariableById(varId);; propertiesComponent->SetVariable(graphVariable); selection.push_back(propertiesComponent->GetEntityId()); diff --git a/Gems/ScriptCanvas/Code/Editor/View/Windows/MainWindow.cpp b/Gems/ScriptCanvas/Code/Editor/View/Windows/MainWindow.cpp index fcbd1a1680..7c6c161246 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Windows/MainWindow.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Windows/MainWindow.cpp @@ -150,8 +150,6 @@ #include #include -#include -#include #include #include @@ -264,14 +262,7 @@ namespace ScriptCanvasEditor if (editorRequests) { - if (editorRequests->IsFunctionGraph()) - { - assetSaveData.m_assetType = azrtti_typeid(); - } - else - { - assetSaveData.m_assetType = azrtti_typeid(); - } + assetSaveData.m_assetType = azrtti_typeid(); } activeAssets.push_back(assetSaveData); @@ -1303,8 +1294,7 @@ namespace ScriptCanvasEditor return AZ::Failure(AZStd::string("Unknown AssetId")); } - if (assetInfo.m_assetType != azrtti_typeid() && - assetInfo.m_assetType != azrtti_typeid()) + if (assetInfo.m_assetType != azrtti_typeid()) { return AZ::Failure(AZStd::string("Invalid AssetId provided, it's not a Script Canvas supported type")); } @@ -3680,10 +3670,6 @@ namespace ScriptCanvasEditor { buttonEnabled = false; } - else - { - EditorGraphRequestBus::EventResult(buttonEnabled, GetActiveScriptCanvasId(), &EditorGraphRequests::IsRuntimeGraph); - } m_assignToSelectedEntity->setEnabled(buttonEnabled); } diff --git a/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/UpgradeHelper.cpp b/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/UpgradeHelper.cpp index e35435f5dd..382f2a6784 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/UpgradeHelper.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/UpgradeHelper.cpp @@ -16,8 +16,6 @@ #include "UpgradeHelper.h" -#include - #include #include #include diff --git a/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/UpgradeTool.cpp b/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/UpgradeTool.cpp index 02fb5b567d..c3ccd3105c 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/UpgradeTool.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/UpgradeTool.cpp @@ -12,8 +12,6 @@ #include "UpgradeTool.h" -#include - #include #include #include @@ -284,10 +282,6 @@ namespace ScriptCanvasEditor { tmpFilesaved = AZ::Utils::SaveObjectToStream(fileStream, AZ::DataStream::ST_XML, &asset.GetAs()->GetScriptCanvasData()); } - else if (asset.GetType() == azrtti_typeid()) - { - tmpFilesaved = AZ::Utils::SaveObjectToStream(fileStream, AZ::DataStream::ST_XML, &asset.GetAs()->GetScriptCanvasData()); - } fileStream.Close(); } @@ -708,10 +702,6 @@ namespace ScriptCanvasEditor { scriptCanvasEntity = UpgradeGraph(asset, this); } - else if (asset.GetType() == azrtti_typeid()) - { - scriptCanvasEntity = UpgradeGraph(asset, this); - } if (!scriptCanvasEntity) { 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 9ec399f616..4bee3ab351 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/VersionExplorer.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Windows/Tools/UpgradeTool/VersionExplorer.cpp @@ -16,8 +16,6 @@ #include "VersionExplorer.h" -#include - #include #include #include @@ -323,10 +321,6 @@ namespace ScriptCanvasEditor { m_scriptCanvasEntity = UpgradeGraphProcess(asset, this); } - else if (asset.GetType() == azrtti_typeid()) - { - m_scriptCanvasEntity = UpgradeGraphProcess(asset, this); - } if (!m_scriptCanvasEntity) { @@ -358,10 +352,6 @@ namespace ScriptCanvasEditor { tmpFilesaved = AZ::Utils::SaveObjectToStream(fileStream, AZ::DataStream::ST_XML, &asset.GetAs()->GetScriptCanvasData()); } - else if (asset.GetType() == azrtti_typeid()) - { - tmpFilesaved = AZ::Utils::SaveObjectToStream(fileStream, AZ::DataStream::ST_XML, &asset.GetAs()->GetScriptCanvasData()); - } fileStream.Close(); } @@ -647,17 +637,6 @@ namespace ScriptCanvasEditor scriptCanvasEntity = scriptCanvasAsset->GetScriptCanvasEntity(); AZ_Assert(scriptCanvasEntity, "The Script Canvas asset must have a valid entity"); } - else if (asset.GetType() == azrtti_typeid()) - { - ScriptCanvasFunctionAsset* scriptCanvasAsset = asset.GetAs(); - if (!scriptCanvasAsset) - { - return; - } - - scriptCanvasEntity = scriptCanvasAsset->GetScriptCanvasEntity(); - AZ_Assert(scriptCanvasEntity, "The Script Canvas asset must have a valid entity"); - } auto graphComponent = scriptCanvasEntity->FindComponent(); AZ_Assert(graphComponent, "The Script Canvas entity must have a Graph component"); diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Asset/Functions/RuntimeFunctionAssetHandler.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Asset/SubgraphInterfaceAssetHandler.cpp similarity index 98% rename from Gems/ScriptCanvas/Code/Include/ScriptCanvas/Asset/Functions/RuntimeFunctionAssetHandler.cpp rename to Gems/ScriptCanvas/Code/Include/ScriptCanvas/Asset/SubgraphInterfaceAssetHandler.cpp index 2f20fbbabb..66d01691a8 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Asset/Functions/RuntimeFunctionAssetHandler.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Asset/SubgraphInterfaceAssetHandler.cpp @@ -7,7 +7,6 @@ #include #include -#include #include #include @@ -19,6 +18,7 @@ #include #include +#include namespace ScriptCanvas { diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Asset/Functions/RuntimeFunctionAssetHandler.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Asset/SubgraphInterfaceAssetHandler.h similarity index 100% rename from Gems/ScriptCanvas/Code/Include/ScriptCanvas/Asset/Functions/RuntimeFunctionAssetHandler.h rename to Gems/ScriptCanvas/Code/Include/ScriptCanvas/Asset/SubgraphInterfaceAssetHandler.h diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Graph.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Graph.cpp index 4545063f56..48e8adb9a7 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Graph.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Core/Graph.cpp @@ -13,8 +13,6 @@ #include #include #include - -#include #include #include #include diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/BaseTimerNode.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/BaseTimerNode.h index 172569561c..3977807305 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/BaseTimerNode.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/BaseTimerNode.h @@ -83,7 +83,7 @@ namespace ScriptCanvas //// int m_timeUnits = 0; - int m_tickOrder = static_cast(AZ::TICK_DEFAULT); + int m_tickOrder = 1000; // from TICK_DEFAULT bool m_isActive = false; diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/ExpressionNodeBase.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/ExpressionNodeBase.cpp index d383afe02f..c4f8f0edd5 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/ExpressionNodeBase.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/ExpressionNodeBase.cpp @@ -443,11 +443,6 @@ namespace ScriptCanvas }); } - void ExpressionNodeBase::OnResult([[maybe_unused]] const ExpressionEvaluation::ExpressionResult& result) - { - AZ_Assert(false, "Implementing node must override OnResult."); - } - ExpressionEvaluation::ParseOutcome ExpressionNodeBase::ParseExpression([[maybe_unused]] const AZStd::string& formatString) { AZ_Assert(false , "Implementing node must override OnResult."); diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/ExpressionNodeBase.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/ExpressionNodeBase.h index 04d5400061..32886e0cd2 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/ExpressionNodeBase.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Internal/Nodes/ExpressionNodeBase.h @@ -37,8 +37,6 @@ namespace ScriptCanvas AZStd::string GetRawFormat() const; const AZStd::unordered_map& GetSlotsByName() const; - - protected: @@ -76,14 +74,11 @@ namespace ScriptCanvas AZ::Crc32 GetPropertyId() const { return AZ_CRC("FormatStringProperty", 0x2c587efa); } protected: - - virtual void OnResult(const ExpressionEvaluation::ExpressionResult& result); virtual ExpressionEvaluation::ParseOutcome ParseExpression(const AZStd::string& formatString); virtual AZStd::string GetExpressionSeparator() const; private: - void PushVariable(const AZStd::string& variableName, const Datum& datum); // NodePropertyInterface... diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/FunctionCallNode.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/FunctionCallNode.h index 56b17095a7..99679e53bc 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/FunctionCallNode.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/FunctionCallNode.h @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp index b76c3ce87c..7812d80717 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/Method.cpp @@ -86,11 +86,6 @@ namespace ScriptCanvas AZ::Outcome IsExposable(const AZ::BehaviorMethod& method) { - if (method.GetNumArguments() > BehaviorContextMethodHelper::MaxCount) - { - return AZ::Failure(AZStd::string("Too many arguments for a Script Canvas method")); - } - for (size_t argIndex(0), sentinel(method.GetNumArguments()); argIndex != sentinel; ++argIndex) { if (const AZ::BehaviorParameter* argument = method.GetArgument(argIndex)) diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/ReceiveScriptEvent.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/ReceiveScriptEvent.cpp index 17f2242b90..9cbbd03e9a 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/ReceiveScriptEvent.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/ReceiveScriptEvent.cpp @@ -177,11 +177,6 @@ namespace ScriptCanvas m_userData.m_methodDefinition = methodDefinition; AZ_Assert(!event.m_parameters.empty(), "No parameters in event!"); - if (!events[eventIndex].m_function) - { - m_handler->InstallGenericHook(events[eventIndex].m_name, &OnEventGenericHook, &m_userData); - } - if (m_eventMap.find(eventId) == m_eventMap.end()) { m_eventMap[eventId] = ConfigureEbusEntry(*methodDefinition, event, populationMapping); @@ -309,12 +304,6 @@ namespace ScriptCanvas return eBusEventEntry; } - void ReceiveScriptEvent::OnEventGenericHook(void* userData, const char* eventName, int eventIndex, AZ::BehaviorValueParameter* result, int numParameters, AZ::BehaviorValueParameter* parameters) - { - ReceiveScriptEvent::EventHookUserData* eventHookUserData(reinterpret_cast(userData)); - eventHookUserData->m_handler->OnEvent(eventName, eventIndex, result, numParameters, parameters); - } - void ReceiveScriptEvent::SetAutoConnectToGraphOwner(bool enabled) { ScriptCanvas::Slot* connectSlot = ReceiveScriptEventProperty::GetConnectSlot(this); diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/ReceiveScriptEvent.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/ReceiveScriptEvent.h index d1aa439b42..59800c943f 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/ReceiveScriptEvent.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Core/ReceiveScriptEvent.h @@ -42,7 +42,6 @@ namespace ScriptCanvas ~ReceiveScriptEvent() override; void OnActivate() override; - void OnPostActivate() override; void OnDeactivate() override; const AZ::Data::AssetId GetAssetId() const { return m_scriptEventAssetId; } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Math/MathExpression.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Math/MathExpression.cpp index 83cf0621fb..86fe9681e1 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Math/MathExpression.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Math/MathExpression.cpp @@ -12,17 +12,6 @@ namespace ScriptCanvas { namespace Math { - void MathExpression::OnResult(const ExpressionEvaluation::ExpressionResult& result) - { - if (result.is()) - { - Datum output; - output.Set(AZStd::any_cast(result)); - PushOutput(output, (*MathExpressionProperty::GetResultSlot(this))); - SignalOutput(MathExpressionProperty::GetOutSlotId(this)); - } - } - ExpressionEvaluation::ParseOutcome MathExpression::ParseExpression(const AZStd::string& formatString) { const AZStd::unordered_set mathInterfaceSet = { diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Math/MathExpression.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Math/MathExpression.h index 76d952b92c..eb091cc095 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Math/MathExpression.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Math/MathExpression.h @@ -37,7 +37,6 @@ namespace ScriptCanvas return AZ::Success(GetSlotsByType(targetSlotType)); } - void OnResult(const ExpressionEvaluation::ExpressionResult& result) override; ExpressionEvaluation::ParseOutcome ParseExpression(const AZStd::string& formatString) override; AZStd::string GetExpressionSeparator() const override; diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Containers/OperatorBack.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Containers/OperatorBack.h index 2b6746156d..068043975f 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Containers/OperatorBack.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Containers/OperatorBack.h @@ -35,9 +35,7 @@ namespace ScriptCanvas void ConfigureContracts(SourceType sourceType, AZStd::vector& contractDescs) override; void OnSourceTypeChanged() override; - void InvokeOperator(); }; - } } } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Containers/OperatorFront.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Containers/OperatorFront.h index f28c46e0f8..64ea312f5d 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Containers/OperatorFront.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Containers/OperatorFront.h @@ -35,9 +35,7 @@ namespace ScriptCanvas void ConfigureContracts(SourceType sourceType, AZStd::vector& contractDescs) override; void OnSourceTypeChanged() override; - void InvokeOperator(); }; - } } } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Math/OperatorArithmetic.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Math/OperatorArithmetic.cpp index 376a6154a9..4e777fff2f 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Math/OperatorArithmetic.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Math/OperatorArithmetic.cpp @@ -207,20 +207,6 @@ namespace ScriptCanvas AZ_UNUSED(dataType); } - void OperatorArithmetic::InvokeOperator() - { - if (!m_result.GetType().IsValid()) - { - return; - } - - Evaluate(m_applicableInputs, m_result); - - PushOutput(m_result, (*m_resultSlot)); - - SignalOutput(m_outSlot); - } - SlotId OperatorArithmetic::CreateSlot(AZStd::string_view name, AZStd::string_view toolTip, ConnectionType connectionType) { DynamicDataSlotConfiguration slotConfiguration; diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Math/OperatorArithmetic.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Math/OperatorArithmetic.h index 4fcd6a1905..5b2ea00871 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Math/OperatorArithmetic.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Operators/Math/OperatorArithmetic.h @@ -100,8 +100,7 @@ namespace ScriptCanvas virtual void Operator(Data::eType type, const ArithmeticOperands& operands, Datum& result); virtual void InitializeSlot(const SlotId& slotId, const Data::Type& dataType); - virtual void InvokeOperator(); - + ////////////////////////////////////////////////////////////////////////// // Translation AZ::Outcome GetDependencies() const override; diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Time/Timer.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Time/Timer.cpp index b2cffe79af..8fb5d666fa 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Time/Timer.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Time/Timer.cpp @@ -20,11 +20,6 @@ namespace ScriptCanvas , m_seconds(0.f) , m_milliseconds(0.f) {} - - void Timer::OnDeactivate() - { - AZ::TickBus::Handler::BusDisconnect(); - } } } } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Time/Timer.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Time/Timer.h index fa5f4309ed..14fa3a767c 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Time/Timer.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Libraries/Time/Timer.h @@ -34,11 +34,6 @@ namespace ScriptCanvas float m_seconds; float m_milliseconds; - - protected: - - AZ::ScriptTimePoint m_start; - void OnDeactivate() override; }; } } diff --git a/Gems/ScriptCanvas/Code/Source/ScriptCanvasCommonGem.cpp b/Gems/ScriptCanvas/Code/Source/ScriptCanvasCommonGem.cpp index 792c72b3f6..fe8e8d20df 100644 --- a/Gems/ScriptCanvas/Code/Source/ScriptCanvasCommonGem.cpp +++ b/Gems/ScriptCanvas/Code/Source/ScriptCanvasCommonGem.cpp @@ -20,7 +20,6 @@ #include #include #include -#include namespace ScriptCanvas { @@ -41,7 +40,6 @@ namespace ScriptCanvas ScriptCanvas::Node::CreateDescriptor(), ScriptCanvas::Debugger::ServiceComponent::CreateDescriptor(), ScriptCanvas::Graph::CreateDescriptor(), - ScriptCanvasEditor::ScriptCanvasFunctionDataComponent::CreateDescriptor(), ScriptCanvas::GraphVariableManagerComponent::CreateDescriptor(), ScriptCanvas::RuntimeComponent::CreateDescriptor(), diff --git a/Gems/ScriptCanvas/Code/scriptcanvasgem_common_files.cmake b/Gems/ScriptCanvas/Code/scriptcanvasgem_common_files.cmake index 74e0e2e70c..40b5786303 100644 --- a/Gems/ScriptCanvas/Code/scriptcanvasgem_common_files.cmake +++ b/Gems/ScriptCanvas/Code/scriptcanvasgem_common_files.cmake @@ -25,9 +25,8 @@ set(FILES Include/ScriptCanvas/Asset/RuntimeAssetHandler.h Include/ScriptCanvas/Asset/ScriptCanvasAssetBase.h Include/ScriptCanvas/Asset/ScriptCanvasAssetData.h - Include/ScriptCanvas/Asset/Functions/ScriptCanvasFunctionAsset.h - Include/ScriptCanvas/Asset/Functions/RuntimeFunctionAssetHandler.cpp - Include/ScriptCanvas/Asset/Functions/RuntimeFunctionAssetHandler.h + Include/ScriptCanvas/Asset/SubgraphInterfaceAssetHandler.cpp + Include/ScriptCanvas/Asset/SubgraphInterfaceAssetHandler.h Include/ScriptCanvas/Core/ScriptCanvasBus.h Include/ScriptCanvas/Core/ExecutionNotificationsBus.cpp Include/ScriptCanvas/Core/ExecutionNotificationsBus.h diff --git a/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_builder_files.cmake b/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_builder_files.cmake index a401a0cc1d..339973aa8e 100644 --- a/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_builder_files.cmake +++ b/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_builder_files.cmake @@ -14,5 +14,4 @@ set(FILES Builder/ScriptCanvasBuilderWorker.cpp Builder/ScriptCanvasBuilderWorker.h Builder/ScriptCanvasBuilderWorkerUtility.cpp - Builder/ScriptCanvasFunctionBuilderWorker.cpp ) diff --git a/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_files.cmake b/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_files.cmake index ba84163d64..309fa83edc 100644 --- a/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_files.cmake +++ b/Gems/ScriptCanvas/Code/scriptcanvasgem_editor_files.cmake @@ -21,8 +21,6 @@ set(FILES Editor/Assets/ScriptCanvasAssetHelpers.h Editor/Assets/ScriptCanvasAssetHelpers.cpp Editor/Assets/ScriptCanvasAssetTrackerDefinitions.h - Editor/Include/ScriptCanvas/Assets/Functions/ScriptCanvasFunctionAssetHandler.h - Editor/Assets/Functions/ScriptCanvasFunctionAssetHandler.cpp Editor/Include/ScriptCanvas/Assets/ScriptCanvasAsset.h Editor/Assets/ScriptCanvasAsset.cpp Editor/Include/ScriptCanvas/Assets/ScriptCanvasAssetBus.h @@ -31,11 +29,6 @@ set(FILES Editor/Assets/ScriptCanvasAssetHandler.cpp Editor/Assets/ScriptCanvasAssetHolder.h Editor/Assets/ScriptCanvasAssetHolder.cpp - Editor/Assets/ScriptCanvasAssetInstance.h - Editor/Assets/ScriptCanvasAssetInstance.cpp - Editor/Assets/ScriptCanvasAssetReference.h - Editor/Assets/ScriptCanvasAssetReference.cpp - Editor/Assets/ScriptCanvasAssetReferenceContainer.h Editor/Assets/ScriptCanvasMemoryAsset.h Editor/Assets/ScriptCanvasMemoryAsset.cpp Editor/Assets/ScriptCanvasUndoHelper.h @@ -127,16 +120,12 @@ set(FILES Editor/Model/LibraryDataModel.cpp Editor/Model/UnitTestBrowserFilterModel.h Editor/Model/UnitTestBrowserFilterModel.cpp - Editor/Nodes/EditorLibrary.h - Editor/Nodes/EditorLibrary.cpp Editor/Nodes/NodeCreateUtils.h Editor/Nodes/NodeCreateUtils.cpp Editor/Nodes/NodeDisplayUtils.h Editor/Nodes/NodeDisplayUtils.cpp Editor/Nodes/NodeUtils.h Editor/Nodes/NodeUtils.cpp - Editor/Nodes/ScriptCanvasAssetNode.h - Editor/Nodes/ScriptCanvasAssetNode.cpp Editor/Translation/TranslationHelper.h Editor/Undo/ScriptCanvasGraphCommand.cpp Editor/Undo/ScriptCanvasGraphCommand.h diff --git a/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomation/EditorAutomationActions/ScriptCanvasActions/GraphActions.cpp b/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomation/EditorAutomationActions/ScriptCanvasActions/GraphActions.cpp index f016dd0a8d..97aa1667df 100644 --- a/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomation/EditorAutomationActions/ScriptCanvasActions/GraphActions.cpp +++ b/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomation/EditorAutomationActions/ScriptCanvasActions/GraphActions.cpp @@ -73,19 +73,6 @@ namespace ScriptCanvasDeveloper { return AZ::Failure("Active graph is not the newly created graph."); } - else - { - ScriptCanvas::ScriptCanvasId scriptCanvasId; - ScriptCanvasEditor::GeneralRequestBus::BroadcastResult(scriptCanvasId, &ScriptCanvasEditor::GeneralRequests::GetScriptCanvasId, activeGraphCanvasId); - - bool isRuntimeGraph = false; - ScriptCanvasEditor::EditorGraphRequestBus::EventResult(isRuntimeGraph, scriptCanvasId, &ScriptCanvasEditor::EditorGraphRequests::IsRuntimeGraph); - - if (!isRuntimeGraph) - { - return AZ::Failure("Created a new Graph, but graph is not of type Runtime Graph."); - } - } } return CompoundAction::GenerateReport(); diff --git a/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomationTests/GraphCreationTests.cpp b/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomationTests/GraphCreationTests.cpp index bc372a4f50..cb182b1852 100644 --- a/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomationTests/GraphCreationTests.cpp +++ b/Gems/ScriptCanvasDeveloper/Code/Editor/Source/EditorAutomationTests/GraphCreationTests.cpp @@ -75,19 +75,6 @@ namespace ScriptCanvasDeveloper { ReportError("Active graph is not the newly created graph using hotkey."); } - else - { - ScriptCanvas::ScriptCanvasId scriptCanvasId; - ScriptCanvasEditor::GeneralRequestBus::BroadcastResult(scriptCanvasId, &ScriptCanvasEditor::GeneralRequests::GetScriptCanvasId, activeGraphCanvasId); - - bool isRuntimeGraph = false; - ScriptCanvasEditor::EditorGraphRequestBus::EventResult(isRuntimeGraph, scriptCanvasId, &ScriptCanvasEditor::EditorGraphRequests::IsRuntimeGraph); - - if (!isRuntimeGraph) - { - ReportError("Failed to create Runtime graph using button"); - } - } } GraphCanvas::AssetEditorNotificationBus::Handler::BusDisconnect(); diff --git a/Gems/ScriptCanvasTesting/Code/Platform/Common/MSVC/scriptcanvastesting_editor_tests_msvc.cmake b/Gems/ScriptCanvasTesting/Code/Platform/Common/MSVC/scriptcanvastesting_editor_tests_msvc.cmake index 95d699cd27..0d70c9d05c 100644 --- a/Gems/ScriptCanvasTesting/Code/Platform/Common/MSVC/scriptcanvastesting_editor_tests_msvc.cmake +++ b/Gems/ScriptCanvasTesting/Code/Platform/Common/MSVC/scriptcanvastesting_editor_tests_msvc.cmake @@ -8,7 +8,6 @@ ly_add_source_properties( SOURCES Source/Framework/ScriptCanvasTestUtilities.cpp - Tests/ScriptCanvas_Async.cpp Tests/ScriptCanvas_BehaviorContext.cpp Tests/ScriptCanvas_ContainerSupport.cpp Tests/ScriptCanvas_Core.cpp diff --git a/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_Async.cpp b/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_Async.cpp deleted file mode 100644 index e50914c0a6..0000000000 --- a/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_Async.cpp +++ /dev/null @@ -1,316 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ -#include -#include -#include - -#include -#include - -#include - -using namespace ScriptCanvasTests; -using namespace ScriptCanvasEditor; - -// Asynchronous ScriptCanvas Behaviors - -#if AZ_COMPILER_MSVC - -#include - -class AsyncEvent : public AZ::EBusTraits -{ -public: - - ////////////////////////////////////////////////////////////////////////// - // EBusTraits overrides - static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById; - using BusIdType = AZ::EntityId; - using MutexType = AZStd::recursive_mutex; - static const bool LocklessDispatch = true; - - ////////////////////////////////////////////////////////////////////////// - - virtual void OnAsyncEvent() = 0; -}; - -using AsyncEventNotificationBus = AZ::EBus; - -class LongRunningProcessSimulator3000 -{ -public: - - static void Run(const AZ::EntityId& listener) - { - int duration = 40; - while (--duration > 0) - { - AZStd::this_thread::sleep_for(AZStd::chrono::milliseconds(10)); - } - - AsyncEventNotificationBus::Event(listener, &AsyncEvent::OnAsyncEvent); - } -}; - -class AsyncNode - : public ScriptCanvas::Node - , protected AsyncEventNotificationBus::Handler - , protected AZ::TickBus::Handler -{ -public: - AZ_COMPONENT(AsyncNode, "{0A7FF6C6-878B-42EC-A8BB-4D29C4039853}", ScriptCanvas::Node); - - bool IsEntryPoint() const { return true; } - - AsyncNode() - : Node() - {} - - static void Reflect(AZ::ReflectContext* reflection) - { - AZ::SerializeContext* serializeContext = azrtti_cast(reflection); - if (serializeContext) - { - serializeContext->Class() - ->Version(1) - ; - } - } - - void ConfigureSlots() override - { - AddSlot(ScriptCanvas::CommonSlots::GeneralInSlot()); - AddSlot(ScriptCanvas::CommonSlots::GeneralOutSlot()); - } - - void OnActivate() override - { - ScriptCanvasTestFixture::s_asyncOperationActive = true; - AZ::TickBus::Handler::BusConnect(); - AsyncEventNotificationBus::Handler::BusConnect(GetEntityId()); - - std::packaged_task task([this]() { LongRunningProcessSimulator3000::Run(GetEntityId()); }); // wrap the function - - m_eventThread = AZStd::make_shared(AZStd::move(task)); // launch on a thread - } - - void OnDeactivate() override - { - if (m_eventThread) - { - m_eventThread->join(); - m_eventThread.reset(); - } - - // We've received the event, no longer need the bus connection - AsyncEventNotificationBus::Handler::BusDisconnect(); - - // We're done, kick it out. - SignalOutput(GetSlotId("Out")); - - // Disconnect from tick bus as well - AZ::TickBus::Handler::BusDisconnect(); - } - - virtual void HandleAsyncEvent() - { - EXPECT_GT(m_duration, 0.f); - - Shutdown(); - } - - void OnAsyncEvent() override - { - HandleAsyncEvent(); - } - - void Shutdown() - { - ScriptCanvasTestFixture::s_asyncOperationActive = false; - } - - void OnTick(float deltaTime, AZ::ScriptTimePoint) override - { - AZ_TracePrintf("Debug", "Awaiting async operation: %.2f\n", m_duration); - m_duration += deltaTime; - } - -protected: - AZStd::shared_ptr m_eventThread; -private: - double m_duration = 0.f; -}; - -TEST_F(ScriptCanvasTestFixture, Asynchronous_Behaviors) -{ - using namespace ScriptCanvas; - - RegisterComponentDescriptor(); - - // Make the graph. - ScriptCanvas::Graph* graph =nullptr; - SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph); - ASSERT_TRUE(graph != nullptr); - - AZ::Entity* graphEntity = graph->GetEntity(); - graphEntity->Init(); - - const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId(); - - AZ::Entity* startEntity{ aznew AZ::Entity }; - startEntity->Init(); - - AZ::EntityId startNodeId; - CreateTestNode(graphUniqueId, startNodeId); - - AZ::EntityId asyncNodeId; - CreateTestNode(graphUniqueId, asyncNodeId); - - EXPECT_TRUE(Connect(*graph, startNodeId, ScriptCanvas::CommonSlots::GeneralOutSlot::GetName(), asyncNodeId, ScriptCanvas::CommonSlots::GeneralInSlot::GetName())); - - { - ScopedOutputSuppression supressOutput; - graphEntity->Activate(); - - // Tick the TickBus while the graph entity is active - while (ScriptCanvasTestFixture::s_asyncOperationActive) - { - AZ::TickBus::ExecuteQueuedEvents(); - AZStd::this_thread::sleep_for(AZStd::chrono::milliseconds(100)); - AZ::TickBus::Broadcast(&AZ::TickEvents::OnTick, 0.01f, AZ::ScriptTimePoint(AZStd::chrono::system_clock::now())); - } - } - - graphEntity->Deactivate(); - delete graphEntity; -} - -/////////////////////////////////////////////////////////////////////////////// - -namespace -{ - // Fibonacci solver, used to compare against the graph version. - long ComputeFibonacci(int digits) - { - int a = 0; - int b = 1; - long sum = 0; - for (int i = 0; i < digits - 2; ++i) - { - sum = a + b; - a = b; - b = sum; - } - return sum; - } -} - -class AsyncFibonacciComputeNode - : public AsyncNode -{ -public: - AZ_COMPONENT(AsyncFibonacciComputeNode, "{B198F52D-708C-414B-BB90-DFF0462D7F03}", AsyncNode); - - AsyncFibonacciComputeNode() - : AsyncNode() - {} - - bool IsEntryPoint() const { return true; } - - static const int k_numberOfFibonacciDigits = 64; - - static void Reflect(AZ::ReflectContext* reflection) - { - AZ::SerializeContext* serializeContext = azrtti_cast(reflection); - if (serializeContext) - { - serializeContext->Class() - ->Version(1) - ; - } - } - - void OnActivate() override - { - AZ::TickBus::Handler::BusConnect(); - AsyncEventNotificationBus::Handler::BusConnect(GetEntityId()); - - int digits = k_numberOfFibonacciDigits; - - std::promise p; - m_computeFuture = p.get_future(); - m_eventThread = AZStd::make_shared([this, digits, p = AZStd::move(p)]() mutable - { - p.set_value(ComputeFibonacci(digits)); - AsyncEventNotificationBus::Event(GetEntityId(), &AsyncEvent::OnAsyncEvent); - }); - } - - void HandleAsyncEvent() override - { - m_result = m_computeFuture.get(); - - EXPECT_EQ(m_result, ComputeFibonacci(k_numberOfFibonacciDigits)); - } - - void OnTick(float deltaTime, AZ::ScriptTimePoint) override - { - AZ_TracePrintf("Debug", "Awaiting async fib operation: %.2f\n", m_duration); - m_duration += deltaTime; - - if (m_result != 0) - { - Shutdown(); - } - } - -private: - std::future m_computeFuture; - long m_result = 0; - double m_duration = 0.f; -}; - -TEST_F(ScriptCanvasTestFixture, ComputeFibonacciAsyncGraphTest) -{ - using namespace ScriptCanvas; - - RegisterComponentDescriptor(); - RegisterComponentDescriptor(); - - // Make the graph. - ScriptCanvas::Graph* graph =nullptr; - SystemRequestBus::BroadcastResult(graph, &SystemRequests::MakeGraph); - ASSERT_NE(graph, nullptr); - - AZ::Entity* graphEntity = graph->GetEntity(); - graphEntity->Init(); - - const ScriptCanvasId& graphUniqueId = graph->GetScriptCanvasId(); - - AZ::EntityId startNodeId; - CreateTestNode(graphUniqueId, startNodeId); - - AZ::EntityId asyncNodeId; - CreateTestNode(graphUniqueId, asyncNodeId); - - EXPECT_TRUE(Connect(*graph, startNodeId, "Out", asyncNodeId, "In")); - - graphEntity->Activate(); - - // Tick the TickBus while the graph entity is active - while (ScriptCanvasTestFixture::s_asyncOperationActive) - { - AZ::TickBus::ExecuteQueuedEvents(); - AZStd::this_thread::sleep_for(AZStd::chrono::milliseconds(100)); - AZ::TickBus::Broadcast(&AZ::TickEvents::OnTick, 0.01f, AZ::ScriptTimePoint(AZStd::chrono::system_clock::now())); - } - - graphEntity->Deactivate(); - delete graphEntity; -} - -#endif // AZ_COMPILER_MSVC diff --git a/Gems/ScriptCanvasTesting/Code/scriptcanvastestingeditor_tests_files.cmake b/Gems/ScriptCanvasTesting/Code/scriptcanvastestingeditor_tests_files.cmake index 681a3c0ba1..b6ab617e26 100644 --- a/Gems/ScriptCanvasTesting/Code/scriptcanvastestingeditor_tests_files.cmake +++ b/Gems/ScriptCanvasTesting/Code/scriptcanvastestingeditor_tests_files.cmake @@ -15,7 +15,6 @@ set(FILES Source/Framework/ScriptCanvasTestApplication.h Source/Framework/EntityRefTests.h Tests/ScriptCanvasTestingTest.cpp - Tests/ScriptCanvas_Async.cpp Tests/ScriptCanvas_BehaviorContext.cpp Tests/ScriptCanvas_ContainerSupport.cpp Tests/ScriptCanvas_Core.cpp