Files
UnrealEngineUWP/Engine/Source/Runtime/AugmentedReality/Private/AROriginActor.cpp
aurel cordonnier e3f7878676 Merge from Release-Engine-Test @ 17462327 to UE5/Main
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17463546 by aurel cordonnier in ue5-main branch]
2021-09-08 16:42:26 -04:00

49 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "AROriginActor.h"
#include "EngineUtils.h"
#include "Engine/Engine.h"
AAROriginActor::AAROriginActor(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
PrimaryActorTick.bCanEverTick = false;
bAllowTickBeforeBeginPlay = false;
bReplicates = false;
SetReplicatingMovement(false);
SetCanBeDamaged(false);
}
AAROriginActor* AAROriginActor::GetOriginActor()
{
// Have to find the game world, not the editor world, if we are in vr preview
UWorld* GameWorld = nullptr;
for (const FWorldContext& Context : GEngine->GetWorldContexts())
{
if (Context.WorldType == EWorldType::Game || Context.WorldType == EWorldType::PIE)
{
GameWorld = Context.World();
}
}
if (GameWorld != nullptr)
{
AAROriginActor* FoundActor = nullptr;
for (TActorIterator<AAROriginActor> Iter(GameWorld); Iter; ++Iter)
{
if (IsValid(*Iter))
{
FoundActor = *Iter;
break;
}
}
if (FoundActor == nullptr)
{
// None spawned yet
FoundActor = GameWorld->SpawnActor<AAROriginActor>(AAROriginActor::StaticClass(), FVector::ZeroVector, FRotator::ZeroRotator);
}
return FoundActor;
}
return nullptr;
}