26#include <boost/filesystem/path.hpp>
27#include <DetourNavMesh.h>
35 typedef std::unordered_map<uint32, Trinity::Containers::FlatSet<uint32>>
TileList;
59 std::vector<OffMeshData>
const* offMeshConnections);
82 MapBuilder(boost::filesystem::path
const& inputDirectory,
83 boost::filesystem::path
const& outputDirectory,
89 bool skipBattlegrounds,
93 char const* offMeshFilePath,
94 unsigned int threads);
std::optional< T > Optional
Optional helper class to wrap optional values within.
void buildMeshFromFile(char const *name)
std::vector< OffMeshData > m_offMeshConnections
void ParseOffMeshConnectionsFile(char const *offMeshFilePath)
void buildMaps(Optional< uint32 > mapID)
ProducerConsumerQueue< TileInfo > _queue
uint32 percentageDone(uint32 totalTiles, uint32 totalTilesDone) const
bool isDevMap(uint32 mapID) const
Optional< float > m_maxWalkableAngleNotSteep
uint32 currentPercentageDone() const
void buildNavMesh(uint32 mapID, dtNavMesh *&navMesh)
bool shouldSkipMap(uint32 mapID) const
boost::filesystem::path m_outputDirectory
bool isTransportMap(uint32 mapID) const
Optional< float > m_maxWalkableAngle
std::atomic< bool > _cancelationToken
bool isContinentMap(uint32 mapID) const
boost::filesystem::path m_inputDirectory
void buildMap(uint32 mapID)
std::atomic< uint32 > m_totalTilesProcessed
std::span< uint32 const > getTileList(uint32 mapID) const
bool isBattlegroundMap(uint32 mapID) const
void buildSingleTile(uint32 mapID, uint32 tileX, uint32 tileY)
std::vector< std::unique_ptr< TileBuilder > > m_tileBuilders
MapBuilder * m_mapBuilder
std::thread m_workerThread
std::string GetProgressText() const override
void OnTileDone() override
bool shouldSkipTile(uint32 mapID, uint32 tileX, uint32 tileY) const override
std::unordered_map< uint32, Trinity::Containers::FlatSet< uint32 > > TileList
dtNavMeshParams m_navMeshParams