Files
UnrealEngineUWP/Engine/Source/Runtime/GameplayDebugger/Public/GameplayDebuggerRenderingComponent.h
guillaume guay b59eecf4c5 - Moved GameplayDebugger from Developer/ into Runtime/ and Editor source folder to be able to use it in shipping build.
- Moved the code originally in a Editor/ folder into its own GameplayDebuggerEditor module and added it so it get dynamically loaded in the editor
- Added some delegates so GameplayDebugger code can communicate to GameplayDebuggerEditor without referencing it. As only GameplayDebuggerEditor should reference GameplayDebugger, not the opposite.

#preflight https://horde.devtools.epicgames.com/job/637808462a05dabce95c5b9e
[REVIEW] https://p4-swarm.epicgames.net/reviews/23207203
[FYI] guillaume.morreel, andrew.ladenberger

[CL 23258875 by guillaume guay in ue5-main branch]
2022-11-24 09:49:23 -05:00

48 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Debug/DebugDrawComponent.h"
#include "DebugRenderSceneProxy.h"
#include "GameplayDebuggerRenderingComponent.generated.h"
class FGameplayDebuggerCompositeSceneProxy;
class FGameplayDebuggerDebugDrawDelegateHelper : public FDebugDrawDelegateHelper
{
typedef FDebugDrawDelegateHelper Super;
public:
virtual ~FGameplayDebuggerDebugDrawDelegateHelper() override
{
Reset();
}
void Reset();
void AddDelegateHelper(FDebugDrawDelegateHelper* InDebugDrawDelegateHelper);
protected:
virtual void RegisterDebugDrawDelegateInternal() override;
virtual void UnregisterDebugDrawDelegate() override;
private:
TArray<FDebugDrawDelegateHelper*> DebugDrawDelegateHelpers;
};
UCLASS(ClassGroup = Debug, NotBlueprintable, NotBlueprintType, noteditinlinenew, hidedropdown, Transient)
class UGameplayDebuggerRenderingComponent : public UDebugDrawComponent
{
GENERATED_UCLASS_BODY()
protected:
virtual FDebugRenderSceneProxy* CreateDebugSceneProxy() override;
virtual FDebugDrawDelegateHelper& GetDebugDrawDelegateHelper() override { return GameplayDebuggerDebugDrawDelegateHelper; }
virtual FBoxSphereBounds CalcBounds(const FTransform &LocalToWorld) const override;
private:
FGameplayDebuggerDebugDrawDelegateHelper GameplayDebuggerDebugDrawDelegateHelper;
};