You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rb Matt.Peters #ROBOMERGE-AUTHOR: robert.millar #ROBOMERGE-SOURCE: CL 17670090 via CL 17670131 via CL 17670137 via CL 17670141 via CL 17670157 via CL 17670162 #ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v875-17642767) [CL 17670168 by robert millar in ue5-main branch]
47 lines
1.9 KiB
C++
47 lines
1.9 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
DerivedDataCacheCommandlet.cpp: Commandlet for DDC maintenence
|
|
=============================================================================*/
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/ObjectMacros.h"
|
|
#include "Commandlets/Commandlet.h"
|
|
#include "DerivedDataCacheCommandlet.generated.h"
|
|
|
|
UCLASS()
|
|
class UDerivedDataCacheCommandlet : public UCommandlet
|
|
{
|
|
GENERATED_UCLASS_BODY()
|
|
UDerivedDataCacheCommandlet(FVTableHelper& Helper); // Declare the FVTableHelper constructor manually so that we can forward-declare-only TUniquePtrs in the header without getting compile error in generated cpp
|
|
|
|
//~ Begin UCommandlet Interface
|
|
virtual int32 Main(const FString& Params) override;
|
|
//~ End UCommandlet Interface
|
|
|
|
// Objects currently being cached along with when was the last time in seconds we verified if they were still compiling
|
|
// The last time is used to do some throttling on the IsCachedCookedPlatformDataLoaded which can be quite expensive on some objects
|
|
TMap<UObject*, double> CachingObjects;
|
|
TSet<FName> ProcessedPackages;
|
|
TSet<FName> PackagesToProcess;
|
|
double FinishCacheTime = 0.0;
|
|
double BeginCacheTime = 0.0;
|
|
|
|
class FPackageListener;
|
|
TUniquePtr<FPackageListener> PackageListener;
|
|
|
|
class FObjectReferencer;
|
|
TUniquePtr<FObjectReferencer> ObjectReferencer;
|
|
|
|
void MaybeMarkPackageAsAlreadyLoaded(UPackage *Package);
|
|
|
|
void CacheLoadedPackages(UPackage* CurrentPackage, uint8 PackageFilter, const TArray<ITargetPlatform*>& Platforms, TSet<FName>& OutNewProcessedPackages);
|
|
void CacheWorldPackages(UWorld* World, uint8 PackageFilter, const TArray<ITargetPlatform*>& Platforms, TSet<FName>& OutNewProcessedPackages);
|
|
bool ProcessCachingObjects(const TArray<ITargetPlatform*>& Platforms);
|
|
void FinishCachingObjects(const TArray<ITargetPlatform*>& Platforms);
|
|
};
|
|
|
|
|