| 7 | #include "Engine/Profiler/ProfilerMemory.h" |
| 8 | |
| 9 | void NavMeshData::Save(WriteStream& stream) |
| 10 | { |
| 11 | // Write header |
| 12 | NavMeshDataHeader header; |
| 13 | header.Version = 1; |
| 14 | header.TileSize = TileSize; |
| 15 | header.TilesCount = Tiles.Count(); |
| 16 | stream.Write(header); |
| 17 | |
| 18 | // Write tiles |
| 19 | for (int32 tileIndex = 0; tileIndex < Tiles.Count(); tileIndex++) |
| 20 | { |
| 21 | auto& tile = Tiles.Get()[tileIndex]; |
| 22 | |
| 23 | // Write tile header |
| 24 | NavMeshTileDataHeader tileHeader; |
| 25 | tileHeader.PosX = tile.PosX; |
| 26 | tileHeader.PosY = tile.PosY; |
| 27 | tileHeader.Layer = tile.Layer; |
| 28 | tileHeader.DataSize = tile.Data.Length(); |
| 29 | stream.Write(tileHeader); |
| 30 | |
| 31 | // Write tile data |
| 32 | if (tileHeader.DataSize) |
| 33 | { |
| 34 | stream.WriteBytes(tile.Data.Get(), tileHeader.DataSize); |
| 35 | } |
| 36 | else |
| 37 | { |
| 38 | LOG(Warning, "Empty navmesh tile data."); |
| 39 | } |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | bool NavMeshData::Load(BytesContainer& data, bool copyData) |
| 44 | { |
no test coverage detected