Files
UnrealEngine/Engine/Source/Runtime/NavigationSystem/Private/NavGraph/NavigationGraph.cpp
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

69 lines
1.9 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "NavGraph/NavigationGraph.h"
#include "EngineUtils.h"
#include "NavigationSystem.h"
#include "NavGraph/NavGraphGenerator.h"
#include "NavNodeInterface.h"
#include "NavGraph/NavigationGraphNodeComponent.h"
#include "NavGraph/NavigationGraphNode.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(NavigationGraph)
//----------------------------------------------------------------------//
// FNavGraphNode
//----------------------------------------------------------------------//
FNavGraphNode::FNavGraphNode()
: Owner(nullptr)
{
Edges.Reserve(InitialEdgesCount);
}
//----------------------------------------------------------------------//
// UNavigationGraphNodeComponent
//----------------------------------------------------------------------//
UNavigationGraphNodeComponent::UNavigationGraphNodeComponent(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
}
void UNavigationGraphNodeComponent::BeginDestroy()
{
Super::BeginDestroy();
if (PrevNodeComponent != NULL)
{
PrevNodeComponent->NextNodeComponent = NextNodeComponent;
}
if (NextNodeComponent != NULL)
{
NextNodeComponent->PrevNodeComponent = PrevNodeComponent;
}
NextNodeComponent = NULL;
PrevNodeComponent = NULL;
}
//----------------------------------------------------------------------//
// ANavigationGraphNode
//----------------------------------------------------------------------//
ANavigationGraphNode::ANavigationGraphNode(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
}
//----------------------------------------------------------------------//
// ANavigationGraph
//----------------------------------------------------------------------//
ANavigationGraph::ANavigationGraph(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
if (HasAnyFlags(RF_ClassDefaultObject) == false)
{
NavDataGenerator = MakeShareable(new FNavGraphGenerator(this));
}
}