From 1a1b66c3e9c24c508024a1cc3426b6c9776d5537 Mon Sep 17 00:00:00 2001 From: Steve Streeting Date: Mon, 13 Sep 2021 18:09:25 +0100 Subject: [PATCH] Move defaults change to constructor instead of OnRegister, fix SetIsVizualisationComponent only being available in editor builds --- .../Private/StevesEditorVisComponent.cpp | 10 ++++++---- .../StevesUEHelpers/Public/StevesEditorVisComponent.h | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Source/StevesUEHelpers/Private/StevesEditorVisComponent.cpp b/Source/StevesUEHelpers/Private/StevesEditorVisComponent.cpp index a1c9a29..18cdb72 100644 --- a/Source/StevesUEHelpers/Private/StevesEditorVisComponent.cpp +++ b/Source/StevesUEHelpers/Private/StevesEditorVisComponent.cpp @@ -4,16 +4,18 @@ #include "StevesEditorVisComponent.h" #include "StevesDebugRenderSceneProxy.h" -void UStevesEditorVisComponent::OnRegister() +UStevesEditorVisComponent::UStevesEditorVisComponent(const FObjectInitializer& ObjectInitializer) + : UPrimitiveComponent(ObjectInitializer) { - Super::OnRegister(); - // set up some constants - SetCollisionEnabled(ECollisionEnabled::NoCollision); + PrimaryComponentTick.bCanEverTick = false; SetCastShadow(false); +#if WITH_EDITORONLY_DATA SetIsVisualizationComponent(true); +#endif SetHiddenInGame(true); AlwaysLoadOnClient = false; + bIsEditorOnly = true; } diff --git a/Source/StevesUEHelpers/Public/StevesEditorVisComponent.h b/Source/StevesUEHelpers/Public/StevesEditorVisComponent.h index 7654f09..1e25f28 100644 --- a/Source/StevesUEHelpers/Public/StevesEditorVisComponent.h +++ b/Source/StevesUEHelpers/Public/StevesEditorVisComponent.h @@ -58,7 +58,7 @@ struct FStevesEditorVisCircle * If you want to, you can add this to your Blueprints too. This component automatically marks itself as "visualisation * only" so shouldn't have a runtime impact. */ -UCLASS(ClassGroup="Debug", hidecategories=(Collision,Object,LOD,Lighting,TextureStreaming), meta=(DisplayName="Steves Editor Visualisation", BlueprintSpawnableComponent)) +UCLASS(ClassGroup="Debug", hidecategories=(Collision,Physics,Object,LOD,Lighting,TextureStreaming), meta=(DisplayName="Steves Editor Visualisation", BlueprintSpawnableComponent)) class STEVESUEHELPERS_API UStevesEditorVisComponent : public UPrimitiveComponent { GENERATED_BODY() @@ -67,7 +67,8 @@ public: UPROPERTY(EditAnywhere, BlueprintReadWrite) TArray Circles; - virtual void OnRegister() override; + UStevesEditorVisComponent(const FObjectInitializer& ObjectInitializer); + virtual FPrimitiveSceneProxy* CreateSceneProxy() override; virtual FBoxSphereBounds CalcBounds(const FTransform& LocalToWorld) const override; /// Needs to update on transform since proxy is detached