/* * 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 #ifdef BLAST_EDITOR #include #include #include #endif namespace Blast { class BlastModule : public CryHooksModule { public: AZ_RTTI(BlastModule, "{897CCA50-FBAF-4F5A-A859-1951091E0555}", CryHooksModule); BlastModule() : CryHooksModule() { // Push results of [MyComponent]::CreateDescriptor() into m_descriptors here. m_descriptors.insert( m_descriptors.end(), { BlastSystemComponent::CreateDescriptor(), BlastFamilyComponent::CreateDescriptor(), BlastMeshDataComponent::CreateDescriptor(), #ifdef BLAST_EDITOR EditorSystemComponent::CreateDescriptor(), EditorBlastFamilyComponent::CreateDescriptor(), EditorBlastMeshDataComponent::CreateDescriptor() #endif }); } /** * Add required SystemComponents to the SystemEntity. */ AZ::ComponentTypeList GetRequiredSystemComponents() const override { return AZ::ComponentTypeList{ azrtti_typeid(), #ifdef BLAST_EDITOR azrtti_typeid(), #endif }; } }; } // namespace Blast // DO NOT MODIFY THIS LINE UNLESS YOU RENAME THE GEM // The first parameter should be GemName_GemIdLower // The second should be the fully qualified name of the class above AZ_DECLARE_MODULE_CLASS(Gem_Blast, Blast::BlastModule)