39 lines
1.3 KiB
C++
39 lines
1.3 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "ARDebugDrawHelpers.h"
|
|
|
|
|
|
#include "DrawDebugHelpers.h"
|
|
#include "EngineGlobals.h"
|
|
#include "Engine/Engine.h"
|
|
#include "GameFramework/HUD.h"
|
|
#include "GameFramework/WorldSettings.h"
|
|
#include "GameFramework/PlayerController.h"
|
|
|
|
namespace ARDebugHelpers
|
|
{
|
|
void DrawDebugString(const UWorld* InWorld, FVector const& TextLocation, const FString& Text, float Scale, FColor const& TextColor, float Duration, bool bDrawShadow)
|
|
{
|
|
bool bDrawnSuccessfully = false;
|
|
// no debug line drawing on dedicated server
|
|
if (GEngine->GetNetMode(InWorld) != NM_DedicatedServer)
|
|
{
|
|
check(InWorld);
|
|
AActor* BaseAct = InWorld->GetWorldSettings();
|
|
|
|
// iterate through the player controller list
|
|
for( FConstPlayerControllerIterator Iterator = InWorld->GetPlayerControllerIterator(); Iterator; ++Iterator )
|
|
{
|
|
APlayerController* PlayerController = Iterator->Get();
|
|
if (PlayerController && PlayerController->MyHUD && PlayerController->Player)
|
|
{
|
|
PlayerController->MyHUD->AddDebugText(Text, BaseAct, Duration, TextLocation, TextLocation, TextColor, true, true, false, nullptr, Scale, bDrawShadow);
|
|
bDrawnSuccessfully = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
ensureMsgf(bDrawnSuccessfully, TEXT("You must have am AHUD actor assigned for DrawDebugString to work."));
|
|
}
|
|
}
|