| | | 1 | | //======================================================================= |
| | | 2 | | // NavigationGraphCellState.cs |
| | | 3 | | //======================================================================= |
| | | 4 | | // MIT License, Copyright (c) 2024-present David Oravsky (mrdav30) |
| | | 5 | | // See LICENSE file in the project root for full license information. |
| | | 6 | | //======================================================================= |
| | | 7 | | |
| | | 8 | | using GridForge.Spatial; |
| | | 9 | | |
| | | 10 | | namespace Trailblazer.Pathing; |
| | | 11 | | |
| | | 12 | | /// <summary>Copies one composed graph cell state for tests and bounded diagnostics.</summary> |
| | | 13 | | internal readonly struct NavigationGraphCellState |
| | | 14 | | { |
| | | 15 | | internal NavigationGraphCellState( |
| | | 16 | | string mapId, |
| | | 17 | | VoxelIndex index, |
| | | 18 | | int slot, |
| | | 19 | | bool isDynamic, |
| | | 20 | | bool hasCell, |
| | | 21 | | NavigationCell cell, |
| | | 22 | | bool isMaterialized, |
| | | 23 | | bool isPresent, |
| | | 24 | | byte obstacleCount, |
| | | 25 | | long gridSpawnToken) |
| | | 26 | | { |
| | 359 | 27 | | MapId = mapId; |
| | 359 | 28 | | Index = index; |
| | 359 | 29 | | Slot = slot; |
| | 359 | 30 | | IsDynamic = isDynamic; |
| | 359 | 31 | | HasCell = hasCell; |
| | 359 | 32 | | Cell = cell; |
| | 359 | 33 | | IsMaterialized = isMaterialized; |
| | 359 | 34 | | IsPresent = isPresent; |
| | 359 | 35 | | ObstacleCount = obstacleCount; |
| | 359 | 36 | | GridSpawnToken = gridSpawnToken; |
| | 359 | 37 | | } |
| | | 38 | | |
| | | 39 | | internal string MapId { get; } |
| | | 40 | | internal VoxelIndex Index { get; } |
| | | 41 | | internal int Slot { get; } |
| | | 42 | | internal bool IsDynamic { get; } |
| | | 43 | | internal bool HasCell { get; } |
| | | 44 | | internal NavigationCell Cell { get; } |
| | | 45 | | internal bool IsMaterialized { get; } |
| | | 46 | | internal bool IsPresent { get; } |
| | 4 | 47 | | internal bool IsBlocked => ObstacleCount > 0; |
| | | 48 | | internal byte ObstacleCount { get; } |
| | | 49 | | internal long GridSpawnToken { get; } |
| | | 50 | | } |