using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace UnrealBuildTool { /// /// Factory class for registering platforms at startup /// abstract class UEBuildPlatformFactory { /// /// Attempt to register a build platform, checking whether it is a valid platform in installed builds /// public void TryRegisterBuildPlatforms(SDKOutputLevel OutputLevel, bool bValidatingPlatforms) { // We need all platforms to be registered when we run -validateplatform command to check SDK status of each if (bValidatingPlatforms || InstalledPlatformInfo.Current.IsValidPlatform(TargetPlatform)) { RegisterBuildPlatforms(OutputLevel); } } /// /// Gets the target platform for an individual factory /// protected abstract UnrealTargetPlatform TargetPlatform { get; } /// /// Register the platform with the UEBuildPlatform class /// protected abstract void RegisterBuildPlatforms(SDKOutputLevel OutputLevel); } }