UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WorldPartitionCookPackageContext.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#if WITH_EDITOR
6
7
#include "
CoreMinimal.h
"
8
#include "
UObject/ObjectKey.h
"
9
#include "
WorldPartition/Cook/WorldPartitionCookPackageContextInterface.h
"
10
#include "
WorldPartition/Cook/WorldPartitionCookPackage.h
"
11
#include "CookPackageSplitter.h"
12
13
class
IWorldPartitionCookPackageGenerator
;
14
15
class
FWorldPartitionCookPackageContext
:
public
IWorldPartitionCookPackageContext
16
{
17
public
:
18
FWorldPartitionCookPackageContext
();
19
20
//~ Begin IWorldPartitionCookPackageContext Interface
21
virtual
void
RegisterPackageCookPackageGenerator
(
IWorldPartitionCookPackageGenerator
*
CookPackageGenerator
)
override
;
22
virtual
void
UnregisterPackageCookPackageGenerator
(
IWorldPartitionCookPackageGenerator
*
CookPackageGenerator
)
override
;
23
virtual
const
FWorldPartitionCookPackage
*
AddPackageToGenerate
(
IWorldPartitionCookPackageGenerator
* Generator,
IWorldPartitionCookPackageObject
*
InCookPackageObject
,
const
FString&
Root
,
const
FString& RelativePath)
override
;
24
virtual
FString
GetGeneratedPackagePath
(
IWorldPartitionCookPackageObject
*
InCookPackageObject
)
const override
;
25
virtual
bool
GatherPackagesToCook
(
const
FWorldPartitionCookPackageContextParams
& Params =
FWorldPartitionCookPackageContextParams
())
override
;
26
virtual
const
FWorldPartitionCookPackageContextParams
& GetParams()
const override
;
27
//~ End IWorldPartitionCookPackageContext Interface
28
29
const
TArray<FWorldPartitionCookPackage*>
*
GetCookPackages
(
const
IWorldPartitionCookPackageGenerator
*
CookPackageGenerator
)
const
{
return
PackagesToCookByGenerator
.
Find
(
CookPackageGenerator
); }
30
31
bool
GetCookPackageGeneratorAndPackage
(
const
FString&
PackageRoot
,
const
FString&
PackageRelativePath
,
IWorldPartitionCookPackageGenerator
*&
CookPackageGenerator
,
FWorldPartitionCookPackage
*& CookPackage);
32
33
uint32
NumPackageToGenerate
()
const
{
return
PackagesToCookById
.Num(); }
34
uint32
NumGenerators()
const
{
return
CookPackageGenerators
.Num(); }
35
36
TArray<IWorldPartitionCookPackageGenerator*>
&
GetCookPackageGenerators
() {
return
CookPackageGenerators
; }
37
const
TArray<IWorldPartitionCookPackageGenerator*>
&
GetCookPackageGenerators
()
const
{
return
CookPackageGenerators
; }
38
39
virtual
void
ReportSaveDependency
(UE::Cook::FCookDependency
CookDependency
)
const override
;
40
ICookPackageSplitter::FPopulateContext*
PopulateContext
=
nullptr
;
41
42
private
:
43
const
FWorldPartitionCookPackage
*
AddLevelStreamingPackageToGenerate
(
IWorldPartitionCookPackageGenerator
*
CookPackageGenerator
,
const
FString&
Root
,
const
FString& RelativePath);
44
const
FWorldPartitionCookPackage
*
AddGenericPackageToGenerate
(
IWorldPartitionCookPackageGenerator
*
CookPackageGenerator
,
const
FString&
Root
,
const
FString& RelativePath);
45
const
FWorldPartitionCookPackage
*
AddPackageToGenerateInternal
(
IWorldPartitionCookPackageGenerator
*
CookPackageGenerator
,
const
FString&
Root
,
const
FString& RelativePath, FWorldPartitionCookPackage::EType Type,
const
FWorldPartitionPackageHash
&
GenerationHash
);
46
47
TArray<IWorldPartitionCookPackageGenerator*>
CookPackageGenerators
;
48
TMap<FWorldPartitionCookPackage::IDType, TUniquePtr<FWorldPartitionCookPackage>
>
PackagesToCookById
;
49
TMap<FWorldPartitionCookPackage::IDType, IWorldPartitionCookPackageGenerator*>
CookGeneratorByPackageId
;
50
TMap<IWorldPartitionCookPackageGenerator*, TArray<FWorldPartitionCookPackage*>
>
PackagesToCookByGenerator
;
51
TMap<FObjectKey, FWorldPartitionCookPackage::IDType>
PackageObjectToPackageId
;
52
FWorldPartitionCookPackageContextParams
Params
;
53
};
54
55
#endif
CoreMinimal.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
EMemoryTraceHeapFlags::Root
@ Root
ObjectKey.h
WorldPartitionCookPackageContextInterface.h
WorldPartitionCookPackage.h
uint32
uint32_t uint32
Definition
binka_ue_file_header.h:6
IWorldPartitionCookPackageGenerator
Definition
WorldPartitionCookPackageGenerator.h:13
IWorldPartitionCookPackageObject
Definition
WorldPartitionCookPackageInterface.h:19
TArray
Definition
Array.h:670
TArray::Find
UE_NODEBUG UE_FORCEINLINE_HINT bool Find(const ElementType &Item, SizeType &Index) const
Definition
Array.h:1302
TMap
Definition
UnrealString.h.inl:34
MeshPaintVirtualTexture::Params
FUniformParams Params
Definition
MeshPaintVirtualTexture.cpp:162
FWorldPartitionCookPackage
Definition
WorldPartitionCookPackage.h:20
Engine
Source
Runtime
Engine
Private
WorldPartition
Cook
WorldPartitionCookPackageContext.h
Generated by
1.9.8