using System.Collections.Generic; using UnityEngine; namespace InfiniteWorld.VoxelWorld.Contracts { public interface IChunkNavSourceReader { float ChunkWorldSize { get; } void GetLoadedChunkCoords(List results); bool TryGetChunkNavSourceSnapshot(Vector2Int coord, out ChunkNavSourceSnapshot snapshot); } public interface IWorldInterestReader { int InterestVersion { get; } void GetInterestPoints(List results); } public interface INavCoverageReader { bool IsPositionCovered(Vector3 worldPosition); void GetCoverageWindows(List results); } public interface INavCoverageHintRegistry { void SetLinearHint(int ownerId, Vector3 from, Vector3 to, float priority, float ttlSeconds); void ClearHint(int ownerId); } public interface INavCoverageHintReader { int HintVersion { get; } void GetHintPoints(List results); } }