UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CookArtifact.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
8#include "Misc/Guid.h"
10
11class ITargetPlatform;
13namespace UE::Cook { class ICookInfo; }
14
15namespace UE::Cook::Artifact
16{
17
20{
21public:
22 ICookInfo& GetCookInfo() const;
24 const ITargetPlatform* GetTargetPlatform() const;
25 const FConfigFile& GetPrevious() const;
26 const FConfigFile& GetCurrent() const;
27 const FString& GetPreviousFileName() const;
28 bool IsRequestInvalidate() const;
29 bool IsRequestFullRecook() const;
30
36 void RequestInvalidate(bool bValue);
41 void RequestFullRecook(bool bValue);
42
43private:
45 const FString& InPreviousFileName);
46
47 ICookInfo& CookInfo;
48 const ITargetPlatform* TargetPlatform = nullptr;
49 const FConfigFile& Previous;
50 const FConfigFile& Current;
51 const FString& PreviousFileName;
52 bool bRequestInvalidate = false;
53 bool bRequestFullRecook = false;
54
56};
57
58} // namespace UE::Cook::Artifact
59
60namespace UE::Cook
61{
62
68class ICookArtifact : public FRefCountBase
69{
70public:
71 virtual ~ICookArtifact() {}
72
74 virtual FString GetArtifactName() const = 0;
75
82 virtual FConfigFile CalculateCurrentSettings(ICookInfo& CookInfo, const ITargetPlatform* TargetPlatform)
83 {
84 return FConfigFile();
85 }
86
91 virtual void CompareSettings(UE::Cook::Artifact::FCompareSettingsContext& Context)
92 {
93 }
94
100 virtual void OnInvalidate(const ITargetPlatform* TargetPlatform)
101 {
102 }
103
109 virtual void OnFullRecook(const ITargetPlatform* TargetPlatform)
110 {
111 }
112};
113
114
115} // namespace UE::Cook
116
117
119// Inline implementations
121
122
123namespace UE::Cook::Artifact
124{
125
126inline FCompareSettingsContext::FCompareSettingsContext(ICookInfo& InCookInfo,
127 const FConfigFile& InPrevious, const FConfigFile& InCurrent, const FString& InPreviousFileName)
128 : CookInfo(InCookInfo)
132{
133}
134
135inline ICookInfo& FCompareSettingsContext::GetCookInfo() const
136{
137 return CookInfo;
138}
139inline const ITargetPlatform* FCompareSettingsContext::GetTargetPlatform() const
140{
141 return TargetPlatform;
142}
143inline const FConfigFile& FCompareSettingsContext::GetPrevious() const
144{
145 return Previous;
146}
147inline const FConfigFile& FCompareSettingsContext::GetCurrent() const
148{
149 return Current;
150}
151inline const FString& FCompareSettingsContext::GetPreviousFileName() const
152{
153 return PreviousFileName;
154}
155inline bool FCompareSettingsContext::IsRequestInvalidate() const
156{
157 return bRequestInvalidate;
158}
159inline bool FCompareSettingsContext::IsRequestFullRecook() const
160{
161 return bRequestFullRecook;
162}
163inline void FCompareSettingsContext::RequestInvalidate(bool bValue)
164{
165 bRequestInvalidate = bValue;
166}
167inline void FCompareSettingsContext::RequestFullRecook(bool bValue)
168{
169 bRequestFullRecook = bValue;
170}
171
172} // namespace UE::Cook::Artifact
173
174#endif // WITH_EDITOR
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition ConfigCacheIni.h:566
Definition RefCounting.h:213
Definition CookOnTheFly.h:19