Files
UnrealEngineUWP/Engine/Source/Programs/UGSCore/BuildStep.h
fredric echols 0dbf56cf07 Re-modularized UGSCore (UGSShared) so UGSCmd can be added as its own executable.
#jira none
#rb none
#preflight none

[CL 21361062 by fredric echols in ue5-main branch]
2022-08-12 15:13:26 -04:00

52 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Misc/Guid.h"
#include "CustomConfigFile.h"
namespace UGSCore
{
enum class EBuildStepType
{
Compile,
Cook,
Other,
};
bool TryParse(const TCHAR* Text, EBuildStepType& OutType);
const TCHAR* ToString(EBuildStepType Type);
struct FBuildStep
{
static const TCHAR* UniqueIdKey;
FGuid UniqueId;
int OrderIndex;
FString Description;
FString StatusText;
int EstimatedDuration;
EBuildStepType Type;
FString Target;
FString Platform;
FString Configuration;
FString FileName;
FString Arguments;
bool bUseLogWindow;
bool bNormalSync;
bool bScheduledSync;
bool bShowAsTool;
FBuildStep(const FGuid& InUniqueId, int InOrderIndex, const FString& InDescription, const FString& InStatusText, int InEstimatedDuration, const FString& InTarget, const FString& InPlatform, const FString& InConfiguration, const FString& InArguments, bool bInSyncDefault);
FBuildStep(const FCustomConfigObject& Object);
static void MergeBuildStepObjects(TMap<FGuid, FCustomConfigObject>& BuildStepObjects, const TArray<FCustomConfigObject>& ModifyObjects);
FCustomConfigObject ToConfigObject() const;
FCustomConfigObject ToConfigObject(const FCustomConfigObject* DefaultObject) const;
};
} // namespace UGSCore