Files
Ben Marsh 7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00

47 lines
1.2 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Volume.h"
#include "AI/NavDataGenerator.h"
class ANavigationGraph;
/**
* Class that handles generation of the ANavigationGraph data
*/
class FNavGraphGenerator : public FNavDataGenerator
{
public:
FNavGraphGenerator(ANavigationGraph* InDestNavGraph);
virtual ~FNavGraphGenerator();
private:
/** Prevent copying. */
FNavGraphGenerator(FNavGraphGenerator const& NoCopy) { check(0); };
FNavGraphGenerator& operator=(FNavGraphGenerator const& NoCopy) { check(0); return *this; }
public:
//----------------------------------------------------------------------//
// FNavDataGenerator overrides
//----------------------------------------------------------------------//
virtual bool IsBuildInProgress(bool bCheckDirtyToo = false) const override;
private:
// Performs initial setup of member variables so that generator is ready to do its thing from this point on
void Init();
void CleanUpIntermediateData();
void UpdateBuilding();
private:
/** Bounding geometry definition. */
TArray<AVolume const*> InclusionVolumes;
FCriticalSection GraphChangingLock;
ANavigationGraph* DestNavGraph;
uint32 bInitialized:1;
};