mirror of
https://github.com/ApfelTeeSaft/UnrealEvent.git
synced 2026-08-27 03:43:40 +00:00
148 lines
5.7 KiB
C++
148 lines
5.7 KiB
C++
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/Object.h"
|
|
#include "UObject/NoExportTypes.h"
|
|
#include "UObject/NoExportTypes.h"
|
|
#include "ActorInstanceRecord.h"
|
|
#include "ActorTemplateRecord.h"
|
|
#include "AsyncTaskCallbackDelegateDelegate.h"
|
|
#include "DeleteActorRecord.h"
|
|
#include "RecordBucketMap.h"
|
|
#include "Templates/SubclassOf.h"
|
|
#include "LevelSaveRecord.generated.h"
|
|
|
|
class AActor;
|
|
class AFortVolume;
|
|
class UAsyncTaskQueue;
|
|
class UWorld;
|
|
|
|
UCLASS(Blueprintable)
|
|
class ULevelSaveRecord : public UObject {
|
|
GENERATED_BODY()
|
|
public:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FName PackageName;
|
|
|
|
UPROPERTY(EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
int16 SaveVersion;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
bool bCompressed;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
UWorld* OverrideWorld;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FVector Center;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FVector HalfBoundsExtent;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FRotator Rotation;
|
|
|
|
UPROPERTY(EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
uint64 LastRecordID;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TMap<int32, FActorTemplateRecord> TemplateRecords;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TMap<FName, FActorInstanceRecord> ActorInstanceRecords;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TMap<FName, FActorInstanceRecord> VolumeInfoActorRecords;
|
|
|
|
private:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TArray<FActorInstanceRecord> InstanceRecords_LEGACY;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TArray<FDeleteActorRecord> DeleteActorRecords_LEGACY;
|
|
|
|
public:
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate FinishSpawningDelegate;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedWrite;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedRead;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedRecordCollapse;
|
|
|
|
private:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TArray<TSubclassOf<AActor>> ActorClassesThatWereAlreadyLoaded;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TArray<AActor*> SpawnedActors;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TArray<FActorInstanceRecord> InstanceRecordsToSpawn;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
AFortVolume* VolumeCurrentlySpawningWithin;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
UAsyncTaskQueue* TaskQueue;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedRemoveInvalidDeleteRecords;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedRemoveInvalidInstanceRecords;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedRemoveDuplicateInstanceRecords;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedAsyncLoadingActors;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedSpawningFromRecords;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedPostUpdate;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FRecordBucketMap RecordBucketMap;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedSeparateModifiedActors;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedDeleteActorsForRollback;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FAsyncTaskCallbackDelegate OnFinishedWriteToBuffer;
|
|
|
|
public:
|
|
ULevelSaveRecord();
|
|
private:
|
|
UFUNCTION(BlueprintCallable)
|
|
void RemoveInvalidInstanceRecordsHelper(const int32 StartRecordIndex);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void RemoveInvalidDeleteRecordsHelper(const int32 StartRecordIndex);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void PostUpdateSpawnedActorsHelper(const int32 StartActorIndex);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void NotifyFinishedSpawning();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void FindAndRemoveDuplicateRecordsUsingBucketMap(const int32 StartRecordIndex);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void FailsafeTimerExpired();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void BroadcastPostUpdateSpawnedCompleted();
|
|
|
|
};
|
|
|