UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PackageLocalizationCache.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "Containers/Map.h"
11#include "Templates/Tuple.h"
12#include "UObject/Class.h"
13#include "UObject/NameTypes.h"
15
17
19
22{
23public:
31
36
42 COREUOBJECT_API void AddRootSourcePath(const FString& InRootPath);
43
50
57 COREUOBJECT_API bool AddPackage(const FString& InPackageName);
58
65 COREUOBJECT_API bool RemovePackage(const FString& InPackageName);
66
71
80
81private:
85 void ConditionalUpdateCache_NoLock();
86
87private:
89 mutable FCriticalSection LocalizedPackagesCS;
90
92 FPackageLocalizationCache* OwnerCache;
93
95 TArray<FString> PrioritizedCultureNames;
96
98 TArray<FString> PrioritizedCultureNamesAndVerseIdentifiers;
99
101 TArray<FString> PendingSourceRootPathsToSearch;
102
104 TMap<FString, TArray<FString>> SourcePathsToLocalizedPaths;
105
107 TMap<FName, TArray<FName>> SourcePackagesToLocalizedPackages;
108};
109
112{
114
115public:
118
119 //~ IPackageLocalizationCache interface
120 COREUOBJECT_API virtual void InvalidateRootSourcePath(const FString& InRootPath) override;
121 COREUOBJECT_API virtual void ConditionalUpdateCache() override;
124
125protected:
135
143
152
157
164 COREUOBJECT_API void HandleContentPathMounted(const FString& InAssetPath, const FString& InFilesystemPath);
165
172 COREUOBJECT_API void HandleContentPathDismounted(const FString& InAssetPath, const FString& InFilesystemPath);
173
178
179protected:
182
185
188
191
195};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
Definition NameTypes.h:617
Definition PackageLocalizationCache.h:112
virtual COREUOBJECT_API void InvalidateRootSourcePath(const FString &InRootPath) override
Definition PackageLocalizationCache.cpp:247
virtual void FindLocalizedPackages(const TMap< FString, TArray< FString > > &NewSourceToLocalizedPaths, TMap< FName, TArray< FName > > &InOutSourcePackagesToLocalizedPackages)=0
TSharedPtr< FPackageLocalizationCultureCache > CurrentCultureCache
Definition PackageLocalizationCache.h:184
COREUOBJECT_API TSharedPtr< FPackageLocalizationCultureCache > FindOrAddCacheForCulture_NoLock(const FString &InCultureName)
Definition PackageLocalizationCache.cpp:301
COREUOBJECT_API void HandleCultureChanged()
Definition PackageLocalizationCache.cpp:374
COREUOBJECT_API FPackageLocalizationCache()
Definition PackageLocalizationCache.cpp:189
COREUOBJECT_API void ConditionalUpdatePackageNameToAssetGroupCache_NoLock()
Definition PackageLocalizationCache.cpp:334
virtual void FindAssetGroupPackages(const FName InAssetGroupName, const FTopLevelAssetPath &InAssetClassName)=0
TArray< TTuple< FString, TSharedPtr< FPackageLocalizationCultureCache > > > AllCultureCaches
Definition PackageLocalizationCache.h:187
virtual COREUOBJECT_API ~FPackageLocalizationCache()
Definition PackageLocalizationCache.cpp:236
TArray< TTuple< FTopLevelAssetPath, FName > > AssetClassesToAssetGroups
Definition PackageLocalizationCache.h:190
virtual COREUOBJECT_API void ConditionalUpdateCache() override
Definition PackageLocalizationCache.cpp:260
TMap< FName, FName > PackageNameToAssetGroup
Definition PackageLocalizationCache.h:193
bool bPackageNameToAssetGroupDirty
Definition PackageLocalizationCache.h:194
FCriticalSection LocalizedCachesCS
Definition PackageLocalizationCache.h:181
virtual COREUOBJECT_API FName FindLocalizedPackageNameForCulture(const FName InSourcePackageName, const FString &InCultureName) override
Definition PackageLocalizationCache.cpp:293
COREUOBJECT_API void HandleContentPathMounted(const FString &InAssetPath, const FString &InFilesystemPath)
Definition PackageLocalizationCache.cpp:350
COREUOBJECT_API void HandleContentPathDismounted(const FString &InAssetPath, const FString &InFilesystemPath)
Definition PackageLocalizationCache.cpp:362
virtual COREUOBJECT_API FName FindLocalizedPackageName(const FName InSourcePackageName) override
Definition PackageLocalizationCache.cpp:272
Definition PackageLocalizationCache.h:22
COREUOBJECT_API FName FindLocalizedPackageName(const FName InSourcePackageName)
Definition PackageLocalizationCache.cpp:175
COREUOBJECT_API void RemoveRootSourcePath(const FString &InRootPath)
Definition PackageLocalizationCache.cpp:75
COREUOBJECT_API void AddRootSourcePath(const FString &InRootPath)
Definition PackageLocalizationCache.cpp:67
COREUOBJECT_API void Empty()
Definition PackageLocalizationCache.cpp:166
COREUOBJECT_API bool RemovePackage(const FString &InPackageName)
Definition PackageLocalizationCache.cpp:135
COREUOBJECT_API void ConditionalUpdateCache()
Definition PackageLocalizationCache.cpp:29
COREUOBJECT_API bool AddPackage(const FString &InPackageName)
Definition PackageLocalizationCache.cpp:107
Definition IPackageLocalizationCache.h:9
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition TopLevelAssetPath.h:38