fix the debug virtual hand settings and logic

This commit is contained in:
Mamadou Babaei
2024-07-12 14:03:55 +02:00
parent b3f661c659
commit 92f4775abb
3 changed files with 26 additions and 18 deletions
@@ -138,6 +138,14 @@ struct USGVirtualHandComponent::FImpl
void SetVisibility(const bool bInVisible); void SetVisibility(const bool bInVisible);
void UpdateVisibility(); void UpdateVisibility();
FORCEINLINE bool ShouldDrawDebugVirtualHand() const
{
const FSGVirtualHandDebuggingSettings& Settings{Owner->GetVirtualHandDebuggingSettings()};
const bool bDraw = !!Settings.bDrawDebugVirtualHand
&& Settings.DrawingMode != ESGDebugVirtualHandDrawingMode::None;
return bDraw;
}
void DrawDebugVirtualHand() const; void DrawDebugVirtualHand() const;
void TriggerHandVisibilityChangedEvent(bool bNewVisibility) const; void TriggerHandVisibilityChangedEvent(bool bNewVisibility) const;
@@ -322,7 +330,7 @@ void USGVirtualHandComponent::TickComponent(
Pimpl->UpdateVisibility(); Pimpl->UpdateVisibility();
if (GetVirtualHandDebuggingSettings().DrawingMode != ESGDebugVirtualHandDrawingMode::None) if (Pimpl->ShouldDrawDebugVirtualHand())
{ {
Pimpl->DrawDebugVirtualHand(); Pimpl->DrawDebugVirtualHand();
} }
@@ -345,7 +353,7 @@ void USGVirtualHandComponent::EditorTick(
{ {
Pimpl->UpdateVisibility(); Pimpl->UpdateVisibility();
if (GetVirtualHandDebuggingSettings().DrawingMode != ESGDebugVirtualHandDrawingMode::None) if (Pimpl->ShouldDrawDebugVirtualHand())
{ {
Pimpl->DrawDebugVirtualHand(); Pimpl->DrawDebugVirtualHand();
} }
@@ -55,7 +55,7 @@ FSGVirtualHandDebuggingSettings::FSGVirtualHandDebuggingSettings()
} }
FSGVirtualHandDebuggingSettings::FSGVirtualHandDebuggingSettings( FSGVirtualHandDebuggingSettings::FSGVirtualHandDebuggingSettings(
const bool bInDrawVirtualHandDebugging, const bool bInDrawDebugVirtualHand,
const ESGDebugVirtualHandDrawingMode InDrawingMode, const ESGDebugVirtualHandDrawingMode InDrawingMode,
const FVector& InCubeExtent, const FVector& InCubeExtent,
const FColor& InCubeColor, const FColor& InCubeColor,
@@ -68,7 +68,7 @@ FSGVirtualHandDebuggingSettings::FSGVirtualHandDebuggingSettings(
const bool bInPersistentLines, const bool bInPersistentLines,
const float InLifeTimeModifier, const float InLifeTimeModifier,
const uint8 InDepthPriority) const uint8 InDepthPriority)
: bDrawVirtualHandDebugging(bInDrawVirtualHandDebugging), : bDrawDebugVirtualHand(bInDrawDebugVirtualHand),
DrawingMode(InDrawingMode), DrawingMode(InDrawingMode),
CubeExtent(InCubeExtent), CubeExtent(InCubeExtent),
CubeColor(InCubeColor), CubeColor(InCubeColor),
@@ -51,64 +51,64 @@ struct SENSEGLOVESETTINGS_API FSGVirtualHandDebuggingSettings
public: public:
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging") UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging")
uint8 bDrawVirtualHandDebugging : 1; uint8 bDrawDebugVirtualHand : 1;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging", EditConditionHides)) meta=(EditCondition="bDrawDebugVirtualHand", EditConditionHides))
ESGDebugVirtualHandDrawingMode DrawingMode; ESGDebugVirtualHandDrawingMode DrawingMode;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::CubicJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::CubicJoints",
EditConditionHides)) EditConditionHides))
FVector CubeExtent; FVector CubeExtent;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::CubicJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::CubicJoints",
EditConditionHides)) EditConditionHides))
FColor CubeColor; FColor CubeColor;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::CubicJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::CubicJoints",
EditConditionHides)) EditConditionHides))
float CubeThickness; float CubeThickness;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints",
EditConditionHides)) EditConditionHides))
float GizmoLength; float GizmoLength;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints",
EditConditionHides)) EditConditionHides))
float GizmoThickness; float GizmoThickness;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints",
EditConditionHides)) EditConditionHides))
FColor GizmoXAxisColor; FColor GizmoXAxisColor;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints",
EditConditionHides)) EditConditionHides))
FColor GizmoYAxisColor; FColor GizmoYAxisColor;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints",
EditConditionHides)) EditConditionHides))
FColor GizmoZAxisColor; FColor GizmoZAxisColor;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints",
EditConditionHides)) EditConditionHides))
uint8 bPersistentLines : 1; uint8 bPersistentLines : 1;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints",
EditConditionHides)) EditConditionHides))
float LifeTimeModifier; float LifeTimeModifier;
UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging", UPROPERTY(Config, EditDefaultsOnly, Category = "Debugging",
meta=(EditCondition="bDrawVirtualHandDebugging && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints", meta=(EditCondition="bDrawDebugVirtualHand && DrawingMode == ESGDebugVirtualHandDrawingMode::GizmoJoints",
EditConditionHides)) EditConditionHides))
uint8 DepthPriority; uint8 DepthPriority;
@@ -116,7 +116,7 @@ public:
FSGVirtualHandDebuggingSettings(); FSGVirtualHandDebuggingSettings();
FSGVirtualHandDebuggingSettings( FSGVirtualHandDebuggingSettings(
bool bInDrawVirtualHandDebugging, bool bInDrawDebugVirtualHand,
ESGDebugVirtualHandDrawingMode InDrawingMode, ESGDebugVirtualHandDrawingMode InDrawingMode,
const FVector& InCubeExtent, const FVector& InCubeExtent,
const FColor& InCubeColor, const FColor& InCubeColor,