// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "UObject/ObjectMacros.h" #include "UObject/UObjectAnnotation.h" class FPackageSourceControlHelper; class ULevel; class UWorld; namespace WorldPartitionCommandletHelpers { UNREALED_API DECLARE_LOG_CATEGORY_EXTERN(LogWorldPartitionCommandletUtils, Log, All); UWorld* LoadAndInitWorld(const FString& LevelToLoad); UWorld* LoadWorld(const FString& LevelToLoad); ULevel* InitLevel(UWorld* World); bool Checkout(const TArray& PackagesToCheckout, FPackageSourceControlHelper& SCHelper); bool Checkout(UPackage* PackagesToCheckout, FPackageSourceControlHelper& SCHelper); bool Save(const TArray& PackagesToSave); bool Save(UPackage* PackagesToSave); bool AddToSourceControl(const TArray& PackagesToAdd, FPackageSourceControlHelper& SCHelper); bool AddToSourceControl(UPackage* PackageToAdd, FPackageSourceControlHelper& SCHelper); bool Delete(const TArray& PackagesToDelete, FPackageSourceControlHelper& SCHelper); bool Delete(UPackage* PackagesToDelete, FPackageSourceControlHelper& SCHelper); template bool CheckoutSaveAdd(T&& ToSave, FPackageSourceControlHelper& SCHelper) { if (Checkout(ToSave, SCHelper)) { if (Save(ToSave)) { return AddToSourceControl(ToSave, SCHelper); } } return false; } }