// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Containers/Array.h" #include "ILocalizedAssetTools.h" #include "Internationalization/Text.h" #include "UObject/NameTypes.h" class FLocalizedAssetTools : public ILocalizedAssetTools { public: FLocalizedAssetTools(); virtual ~FLocalizedAssetTools() {} // ILocalizedAssetTools implementations virtual bool CanLocalize(const UClass* Class) const override; virtual ELocalizedAssetsOnDiskResult GetLocalizedVariantsOnDisk(const TArray& InPackages, TMap>& OutLocalizedVariantsBySource, TArray* OutPackagesNotFound = nullptr) const override; virtual ELocalizedAssetsInSCCResult GetLocalizedVariantsInRevisionControl(const TArray& InPackages, TMap>& OutLocalizedVariantsBySource, TArray* OutPackagesNotFound = nullptr) const override; virtual ELocalizedAssetsResult GetLocalizedVariants(const TArray& InPackages, TMap>& OutLocalizedVariantsBySourceOnDisk, bool bAlsoCheckInRevisionControl, TMap>& OutLocalizedVariantsBySourceInRevisionControl, TArray* OutPackagesNotFound = nullptr) const override; virtual void OpenRevisionControlRequiredDialog() const override; virtual void OpenFilesInRevisionControlRequiredDialog(const TArray& FileList) const override; virtual void OpenLocalizedVariantsListMessageDialog(const FText& Header, const FText& Message, const TArray& FileList) const override; virtual ELocalizedVariantsInclusion OpenIncludeLocalizedVariantsListDialog( const TArray& FileList, ELocalizedVariantsInclusion RecommendedBehavior = ELocalizedVariantsInclusion::Include, bool bAllowOperationCanceling = true, ELocalizedVariantsInclusion UnattendedDefaultBehavior = ELocalizedVariantsInclusion::Exclude) const override; virtual const FText& GetRevisionControlIsNotAvailableWarningText() const override; virtual const FText& GetFilesNeedToBeOnDiskWarningText() const override; private: bool GetLocalizedVariantsDepotPaths(const TArray& InPackagesNames, TArray& OutLocalizedVariantsPaths) const; private: FText RevisionControlIsNotAvailableWarningText; FText FilesNeedToBeOnDiskWarningText; };