using System; using UnityEngine; namespace InfiniteWorld.VoxelWorld.NavMesh { [Serializable] /// /// Inspector-friendly tuning parameters that bound how clustered nav coverage is shaped and rebuilt at runtime. /// public sealed class VoxelWorldNavMeshConfig { [Min(0)] public int agentTypeId; [Min(1)] public int maxNavMeshBuildsPerFrame = 1; [Min(0f)] public float navBoundsHorizontalPadding = 1f; [Min(0f)] public float navBoundsVerticalPadding = 2f; [Min(1)] public int maxActiveCoverageWindows = 3; [Min(0f)] public float clusterMergeDistanceInChunks = 4f; [Min(0f)] public float coveragePaddingInChunks = 2f; [Min(0.25f)] public float coverageQuantizationInChunks = 1f; [Min(1f)] public float minCoverageWindowSizeInChunks = 4f; [Min(0)] public int chunkCollectionMarginInChunks = 1; } }