// Copyright IHY. Vertical Partition Streaming plugin. // // World-Partition-style debug: coloured cell boxes, ids, actor counts, problem // actor highlights, and an on-screen runtime overlay. Driven by the vp.Debug / // vp.DebugDraw / vp.DebugOverlay console variables (and the volume's debug flags). #pragma once #include "CoreMinimal.h" #include "Components/ActorComponent.h" #include "VerticalPartitionDebugComponent.generated.h" class UVerticalPartitionRuntimeSubsystem; UCLASS(ClassGroup=(VerticalPartition), meta=(BlueprintSpawnableComponent)) class VERTICALPARTITION_API UVerticalPartitionDebugComponent : public UActorComponent { GENERATED_BODY() public: UVerticalPartitionDebugComponent(); virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; /** 3D coloured cell boxes + ids + counts (the spec's DrawDebugCells). */ void DrawDebugCells(UVerticalPartitionRuntimeSubsystem* Sub) const; /** On-screen text block of FVerticalRuntimeStats. */ void DrawOverlay(UVerticalPartitionRuntimeSubsystem* Sub) const; private: UVerticalPartitionRuntimeSubsystem* GetSub() const; };