/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ #include #include #include #include namespace AZ { namespace Render { //! Some Atom projects will not include EMotionFX, and some projects using EMotionFX will not include Atom. This module exists to prevent creating a hard dependency in either direction. class ActorModule : public Module { public: AZ_RTTI(ActorModule, "{84DCA4A9-39A1-4A04-A7DE-66FF62A3B7AD}", Module); AZ_CLASS_ALLOCATOR(ActorModule, SystemAllocator, 0); ActorModule() : Module() { m_descriptors.insert(m_descriptors.end(), { ActorSystemComponent::CreateDescriptor() }); } //! //! Add required SystemComponents to the SystemEntity. //! ComponentTypeList GetRequiredSystemComponents() const override { return ComponentTypeList{ azrtti_typeid(), }; } }; } // end Render namespace } // end AZ namespace // 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_EMotionFX_Atom, AZ::Render::ActorModule)