// Copyright Epic Games, Inc. All Rights Reserved. /*============================================================================= FLinuxArm64TargetPlatformControlsModule.cpp: Implements the FLinuxArm64TargetPlatformControlsModule class. =============================================================================*/ #include "CoreMinimal.h" #include "Modules/ModuleManager.h" #include "Interfaces/ITargetPlatformControlsModule.h" #include "LinuxTargetPlatformSettings.h" #include "LinuxTargetPlatformControls.h" #include "ILinuxArm64TargetPlatformSettingsModule.h" /** * Module for the Linux target platforms controls */ class FLinuxArm64TargetPlatformControlsModule : public ITargetPlatformControlsModule { public: virtual void GetTargetPlatformControls(TArray& TargetPlatforms, FName& PlatformSettingsModuleName) override { TMap PlatformNameToPlatformSettings; ILinuxArm64TargetPlatformSettingsModule* ModuleSettings = FModuleManager::GetModulePtr(PlatformSettingsModuleName); if (ModuleSettings != nullptr) { TMap OutMap; ModuleSettings->GetPlatformSettingsMaps(OutMap); ITargetPlatformControls* GameTP = new TLinuxTargetPlatformControls>(OutMap[FLinuxPlatformProperties::PlatformName()]); ITargetPlatformControls* ServerTP = new TLinuxTargetPlatformControls>(OutMap[FLinuxPlatformProperties::PlatformName()]); ITargetPlatformControls* ClientTP = new TLinuxTargetPlatformControls>(OutMap[FLinuxPlatformProperties::PlatformName()]); TargetPlatforms.Add(GameTP); TargetPlatforms.Add(ServerTP); TargetPlatforms.Add(ClientTP); } } }; IMPLEMENT_MODULE(FLinuxArm64TargetPlatformControlsModule, LinuxArm64TargetPlatformControls);