Files
UnrealEngineUWP/Engine/Source/Runtime/Landscape/Classes/LandscapeStreamingProxy.h
graham wihlidal ca70de9156 Work in progress Nanite support for landscape
#preflight 6297a7f3a660a44a23c0c879
#rb jonathan.bard
[FYI] brian.karis, ola.olsson, michal.valient, rune.stubbe

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 20490481 via CL 20490493 via CL 20490509
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20495473 by graham wihlidal in ue5-main branch]
2022-06-03 19:13:16 -04:00

56 lines
1.9 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "LandscapeProxy.h"
#include "LandscapeStreamingProxy.generated.h"
class ALandscape;
#if WITH_EDITOR
class UMaterialInterface;
struct FActorPartitionIdentifier;
#endif
UCLASS(MinimalAPI, notplaceable)
class ALandscapeStreamingProxy : public ALandscapeProxy
{
GENERATED_BODY()
public:
ALandscapeStreamingProxy(const FObjectInitializer& ObjectInitializer);
UPROPERTY(EditAnywhere, Category=LandscapeProxy)
TLazyObjectPtr<ALandscape> LandscapeActor;
//~ Begin UObject Interface
#if WITH_EDITOR
virtual bool ShouldExport() override { return false; }
virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
virtual bool CanEditChange(const FProperty* InProperty) const override;
virtual void PostRegisterAllComponents() override;
virtual AActor* GetSceneOutlinerParent() const override;
virtual bool CanDeleteSelectedActor(FText& OutReason) const override;
virtual bool GetReferencedContentObjects(TArray<UObject*>& Objects) const override;
virtual bool CanChangeIsSpatiallyLoadedFlag() const override { return true; }
virtual bool ShouldIncludeGridSizeInName(UWorld* InWorld, const FActorPartitionIdentifier& InIdentifier) const override;
#endif
//~ End UObject Interface
//~ Begin ALandscapeBase Interface
virtual ALandscape* GetLandscapeActor() override;
virtual const ALandscape* GetLandscapeActor() const override;
#if WITH_EDITOR
virtual UMaterialInterface* GetLandscapeMaterial(int8 InLODIndex = INDEX_NONE) const override;
virtual UMaterialInterface* GetLandscapeHoleMaterial() const override;
virtual bool IsNaniteEnabled() const override;
#endif
//~ End ALandscapeBase Interface
// Check input Landscape actor is match for this LandscapeProxy (by GUID)
bool IsValidLandscapeActor(ALandscape* Landscape);
};