// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Containers/Array.h" #include "Containers/UnrealString.h" #include "CoreMinimal.h" #include "Templates/Function.h" #include "Templates/SharedPointer.h" #include "UObject/NameTypes.h" class FLocalizationSCC; class IAssetRegistry; class UObject; class UPackage; struct FAssetData; struct FTopLevelAssetPath; struct FLocalizedAssetSCCUtil { static bool SaveAssetWithSCC(const TSharedPtr& InSourceControlInfo, UObject* InAsset); static bool SaveAssetWithSCC(const TSharedPtr& InSourceControlInfo, UObject* InAsset, const FString& InFilename); static bool SavePackageWithSCC(const TSharedPtr& InSourceControlInfo, UPackage* InPackage); static bool SavePackageWithSCC(const TSharedPtr& InSourceControlInfo, UPackage* InPackage, const FString& InFilename); static bool DeleteAssetWithSCC(const TSharedPtr& InSourceControlInfo, UObject* InAsset); static bool DeletePackageWithSCC(const TSharedPtr& InSourceControlInfo, UPackage* InPackage); typedef TFunctionRef FSaveFileCallback; static bool SaveFileWithSCC(const TSharedPtr& InSourceControlInfo, const FString& InFilename, const FSaveFileCallback& InSaveFileCallback); }; struct FLocalizedAssetUtil { static bool GetAssetsByPathAndClass(IAssetRegistry& InAssetRegistry, const FName InPackagePath, const FTopLevelAssetPath& InClassName, const bool bIncludeLocalizedAssets, TArray& OutAssets); static bool GetAssetsByPathAndClass(IAssetRegistry& InAssetRegistry, const TArray& InPackagePaths, const FTopLevelAssetPath& InClassName, const bool bIncludeLocalizedAssets, TArray& OutAssets); };