From 1d15350610da8e4c645a1fe76b21d1dd56891542 Mon Sep 17 00:00:00 2001 From: Jamie Greunbaum Date: Mon, 27 Mar 2023 14:07:20 -0400 Subject: [PATCH] Crosshairs are now only visible when nothing is hit by the line trace, to further improve visibility. --- Content/UI/UMG_BugPlacementOverlay.uasset | Bin 61693 -> 73832 bytes Source/Unrealzilla/Private/BugPlacerPawn.cpp | 6 ++++-- Source/Unrealzilla/Public/BugPlacerPawn.h | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Content/UI/UMG_BugPlacementOverlay.uasset b/Content/UI/UMG_BugPlacementOverlay.uasset index b69b2fc5b9b93bc4c235824a713f82f848d96af6..08344b9884681e1b47330995b2c19cc0c1ef681d 100644 GIT binary patch delta 15911 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.GetActor())) { this->PlacementMarkerRoot->SetVisibility(true, false); - this->ShowDummyMarker(false); this->UpdateBugInformation(Marker->GetBugData()); + this->ShowDummyMarker(false); } else { this->PlacementMarkerRoot->SetVisibility(true, true); - this->ShowDummyMarker(true); this->UpdateBugInformation(FJSONBugData()); + this->ShowDummyMarker(true); } this->PlacementMarkerRoot->SetWorldLocationAndRotation(TraceHit.ImpactPoint, FRotationMatrix::MakeFromZ(TraceHit.ImpactNormal).ToQuat()); + this->ShowCrosshairs(false); const FVector TraceOriginLocation = this->TraceOriginComponent->GetComponentLocation(); FVector FacingVector = (TraceHit.ImpactPoint - TraceOriginLocation); @@ -118,6 +119,7 @@ void ABugPlacerPawn::TraceTimerElapsed() { this->PlacementMarkerRoot->SetRelativeLocationAndRotation(FVector::ZeroVector, FRotator::ZeroRotator); this->PlacementMarkerRoot->SetVisibility(false, true); + this->ShowCrosshairs(true); const FVector TraceOriginLocation = this->TraceOriginComponent->GetComponentLocation(); FVector FacingVector = (TraceEnd - TraceOriginLocation); diff --git a/Source/Unrealzilla/Public/BugPlacerPawn.h b/Source/Unrealzilla/Public/BugPlacerPawn.h index fd47e47..0e5ca21 100644 --- a/Source/Unrealzilla/Public/BugPlacerPawn.h +++ b/Source/Unrealzilla/Public/BugPlacerPawn.h @@ -30,6 +30,8 @@ public: void UpdateBugInformation(const FJSONBugData &BugData); UFUNCTION(BlueprintImplementableEvent) void ShowDummyMarker(const bool bShow); + UFUNCTION(BlueprintImplementableEvent) + void ShowCrosshairs(const bool bShow); UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject")) static void SpawnBugPlacerPawn(const UObject *WorldContextObject, TSubclassOf Class);