Gems/AWSGameLift/Code/AWSGameLiftClient/Source/AWSGameLiftClientModule.cpp (45 lines of code) (raw):

/* * 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 <AzCore/Memory/SystemAllocator.h> #include <AzCore/Module/Module.h> #include <AWSGameLiftClientSystemComponent.h> #if defined(AWS_GAMELIFT_CLIENT_EDITOR) #include <AWSGameLiftClientEditorSystemComponent.h> #endif namespace AWSGameLift { //! Provide the entry point for the gem and register the system component. class AWSGameLiftClientModule : public AZ::Module { public: AZ_RTTI(AWSGameLiftClientModule, "{7b920f3e-2b23-482e-a1b6-16bd278d126c}", AZ::Module); AZ_CLASS_ALLOCATOR(AWSGameLiftClientModule, AZ::SystemAllocator); AWSGameLiftClientModule() : AZ::Module() { // Push results of [MyComponent]::CreateDescriptor() into m_descriptors here. m_descriptors.insert(m_descriptors.end(), { #if defined(AWS_GAMELIFT_CLIENT_EDITOR) AWSGameLiftClientEditorSystemComponent::CreateDescriptor() #else AWSGameLiftClientSystemComponent::CreateDescriptor() #endif } ); } /** * Add required SystemComponents to the SystemEntity. */ AZ::ComponentTypeList GetRequiredSystemComponents() const override { return AZ::ComponentTypeList { #if defined(AWS_GAMELIFT_CLIENT_EDITOR) azrtti_typeid<AWSGameLiftClientEditorSystemComponent>() #else azrtti_typeid<AWSGameLiftClientSystemComponent>() #endif }; } }; }// namespace AWSGameLift #if defined(O3DE_GEM_NAME) AZ_DECLARE_MODULE_CLASS(AZ_JOIN(Gem_, O3DE_GEM_NAME, _Clients), AWSGameLift::AWSGameLiftClientModule) #else AZ_DECLARE_MODULE_CLASS(Gem_AWSGameLift_Clients, AWSGameLift::AWSGameLiftClientModule) #endif