public void GetRecastTriangleMesh(out Vector3[] vertices, out int[] indices)
{
int vecCount;
int idxCount;
CalcArraySizes(out vecCount, out idxCount);
vertices = new Vector3[vecCount];
indices = new int[idxCount];
var vecOffset = 0;
var idxOffset = 0;
// Get the ADT triangles
foreach (var tile in _adtManager.MapTiles)
{
if (tile == null) continue;
// The heightmap information
idxOffset = CopyIndicesToRecastArray(tile.Indices, indices, idxOffset, vecOffset);
vecOffset = CopyVectorsToRecastArray(tile.TerrainVertices, vertices, vecOffset);
// The liquid information
//idxOffset = CopyIndicesToRecastArray(tile.LiquidIndices, indices, idxOffset, vecOffset);
//vecOffset = CopyVectorsToRecastArray(tile.LiquidVertices, vertices, vecOffset);
}
// Get the WMO triangles
idxOffset = CopyIndicesToRecastArray(_wmoManager.WmoIndices, indices, idxOffset, vecOffset);
vecOffset = CopyVectorsToRecastArray(_wmoManager.WmoVertices, vertices, vecOffset);
// Get the M2 triangles
idxOffset = CopyIndicesToRecastArray(_m2Manager.RenderIndices, indices, idxOffset, vecOffset);
vecOffset = CopyVectorsToRecastArray(_m2Manager.RenderVertices, vertices, vecOffset);
}