30 lines
760 B
C++
30 lines
760 B
C++
#pragma once
|
|
|
|
struct rcConfig;
|
|
struct dtTileCacheParams;
|
|
struct BuilderParams;
|
|
struct TileCacheData;
|
|
class dtNavMesh;
|
|
class MapInstance;
|
|
class NavMeshBuilder : public a8::Singleton<NavMeshBuilder>
|
|
{
|
|
private:
|
|
NavMeshBuilder() {};
|
|
friend class a8::Singleton<NavMeshBuilder>;
|
|
|
|
public:
|
|
void Init();
|
|
void UnInit();
|
|
|
|
dtNavMesh* Build(MapInstance* map_instance);
|
|
void OutputObjFile(MapInstance* map_instance);
|
|
|
|
private:
|
|
void InitRcConfig(BuilderParams& builder_params);
|
|
void InitTileCacheParams(BuilderParams& builder_params);
|
|
int RasterizeTileLayers(const int tx, const int ty,
|
|
const rcConfig& cfg,
|
|
TileCacheData* tiles,
|
|
const int maxTiles);
|
|
};
|