/* * 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 * */ #if defined (SCRIPTCANVAS_EDITOR) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace ScriptCanvas { //////////////////////////////////////////////////////////////////////////// // ScriptCanvasModule //////////////////////////////////////////////////////////////////////////// //! Create ComponentDescriptors and add them to the list. //! The descriptors will be registered at the appropriate time. //! The descriptors will be destroyed (and thus unregistered) at the appropriate time. ScriptCanvasModule::ScriptCanvasModule() : ScriptCanvasModuleCommon() { m_descriptors.insert(m_descriptors.end(), { ScriptCanvasBuilder::PluginComponent::CreateDescriptor(), ScriptCanvasEditor::EditorAssetSystemComponent::CreateDescriptor(), ScriptCanvasEditor::EditorScriptCanvasComponent::CreateDescriptor(), ScriptCanvasEditor::EntityMimeDataHandler::CreateDescriptor(), ScriptCanvasEditor::EditorGraph::CreateDescriptor(), ScriptCanvasEditor::IconComponent::CreateDescriptor(), ScriptCanvasEditor::ReflectComponent::CreateDescriptor(), ScriptCanvasEditor::SystemComponent::CreateDescriptor(), ScriptCanvasEditor::EditorGraphVariableManagerComponent::CreateDescriptor(), ScriptCanvasEditor::VariablePropertiesComponent::CreateDescriptor(), ScriptCanvasEditor::SlotMappingComponent::CreateDescriptor(), ScriptCanvasEditor::SceneMemberMappingComponent::CreateDescriptor(), // GraphCanvas additions ScriptCanvasEditor::DynamicSlotComponent::CreateDescriptor(), ScriptCanvasEditor::DynamicOrderingDynamicSlotComponent::CreateDescriptor(), // Base Descriptor ScriptCanvasEditor::NodeDescriptorComponent::CreateDescriptor(), // Node Type Descriptor ScriptCanvasEditor::AzEventHandlerNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::ClassMethodNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::EBusHandlerNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::EBusHandlerEventNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::ScriptEventReceiverEventNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::ScriptEventReceiverNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::ScriptEventSenderNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::EBusSenderNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::VariableNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::GetVariableNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::SetVariableNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::UserDefinedNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::FunctionNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::FunctionDefinitionNodeDescriptorComponent::CreateDescriptor(), ScriptCanvasEditor::NodelingDescriptorComponent::CreateDescriptor() }); } AZ::ComponentTypeList ScriptCanvasModule::GetRequiredSystemComponents() const { AZ::ComponentTypeList components = GetCommonSystemComponents(); components.insert(components.end(), std::initializer_list { azrtti_typeid(), azrtti_typeid(), azrtti_typeid() }); return components; } } #include // Qt resources are defined in the ScriptCanvas static library, so we must // initialize them manually extern int qInitResources_ScriptCanvasEditorResources(); extern int qCleanupResources_ScriptCanvasEditorResources(); namespace { struct initializer { initializer() { qInitResources_ScriptCanvasEditorResources(); } ~initializer() { qCleanupResources_ScriptCanvasEditorResources(); } } dummy; } #if defined(O3DE_GEM_NAME) AZ_DECLARE_MODULE_CLASS(AZ_JOIN(Gem_, O3DE_GEM_NAME, _Editor), ScriptCanvas::ScriptCanvasModule) #else AZ_DECLARE_MODULE_CLASS(Gem_ScriptCanvas_Editor, ScriptCanvas::ScriptCanvasModule) #endif #endif // SCRIPTCANVAS_EDITOR