You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Formalizing all TargetPlatforms to have a Client version, rename WindowsNoEditor to Windows, and removing DDPI specification of TargetPlatforms, and generate them programmatically - Updated names DeviceProfiles and Build scripts, as above - Some PlatformInfo class cleanup - Added a TNonDesktopTargetPlatformBase class to make most TargetPlatforms simpler - Added "No Compiled Support" to the Turnkey LaunchOn menu when the TargetPlatforms aren't compiled in (to show that even if you install an SDK, you will need to compile before you can LaunchOn)\ - Starting the transition away from PlatformInfo::FPlatformInfo to FDDPI [CL 13966487 by Josh Adams in ue5-main branch]
72 lines
2.1 KiB
C++
72 lines
2.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Modules/ModuleManager.h"
|
|
#include "Android/AndroidPlatformProperties.h"
|
|
#include "Interfaces/ITargetPlatformModule.h"
|
|
#include "Common/TargetPlatformBase.h"
|
|
#include "Interfaces/IAndroidDeviceDetection.h"
|
|
#include "Interfaces/IAndroidDeviceDetectionModule.h"
|
|
#include "AndroidTargetDevice.h"
|
|
#include "AndroidTargetPlatform.h"
|
|
#include "IAndroidTargetPlatformModule.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "FAndroidTargetPlatformModule"
|
|
|
|
/**
|
|
* Module for the Android target platform.
|
|
*/
|
|
class FAndroidTargetPlatformModule : public IAndroidTargetPlatformModule
|
|
{
|
|
public:
|
|
|
|
virtual void GetTargetPlatforms(TArray<ITargetPlatform*>& TargetPlatforms) override
|
|
{
|
|
if (FAndroidTargetPlatform::IsUsable())
|
|
{
|
|
for (int32 Type = 0; Type < 2; Type++)
|
|
{
|
|
bool bIsClient = Type == 1;
|
|
// flavorless must come first
|
|
SinglePlatforms.Add(new FAndroidTargetPlatform(bIsClient, nullptr));
|
|
SinglePlatforms.Add(new FAndroid_ASTCTargetPlatform(bIsClient));
|
|
SinglePlatforms.Add(new FAndroid_DXTTargetPlatform(bIsClient));
|
|
SinglePlatforms.Add(new FAndroid_ETC2TargetPlatform(bIsClient));
|
|
|
|
// thse are used in NotifyMultiSelectedFormatsChanged, so track in another array
|
|
MultiPlatforms.Add(new FAndroid_MultiTargetPlatform(bIsClient));
|
|
}
|
|
|
|
// join the single and the multi into one
|
|
TargetPlatforms.Append(SinglePlatforms);
|
|
TargetPlatforms.Append(MultiPlatforms);
|
|
|
|
// set up the multi platforms now that we have all the other platforms ready to go
|
|
NotifyMultiSelectedFormatsChanged();
|
|
}
|
|
}
|
|
|
|
|
|
virtual void NotifyMultiSelectedFormatsChanged() override
|
|
{
|
|
for (FAndroid_MultiTargetPlatform* TP : MultiPlatforms)
|
|
{
|
|
TP->LoadFormats(SinglePlatforms);
|
|
}
|
|
// @todo multi needs to be passed this event!
|
|
}
|
|
|
|
|
|
private:
|
|
|
|
/** Holds the specific types of target platforms for NotifyMultiSelectedFormatsChanged */
|
|
TArray<FAndroidTargetPlatform*> SinglePlatforms;
|
|
TArray<FAndroid_MultiTargetPlatform*> MultiPlatforms;
|
|
};
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE
|
|
|
|
|
|
IMPLEMENT_MODULE( FAndroidTargetPlatformModule, AndroidTargetPlatform);
|