private async Task <bool> IsReachable() { if (!_points.Any() || _points.First().Distance2D(ZetaDia.Me.Position) < 10f) { return(false); } if (!await _navigator.CanPathWithinDistance(_points.First(), PathPrecision) || Navigator.StuckHandler.IsStuck) { return(false); } return(true); }
public static void UpdateFailedMarkers() { if (NavProvider == null) { NavProvider = new DefaultNavigationProvider(); } foreach (MiniMapMarker marker in KnownMarkers.Where(m => m.Failed)) { if (NavProvider.CanPathWithinDistance(marker.Position, 10f)) { //DbHelper.LogNormal("Was able to generate full path to failed MiniMapMarker {0} at {1}, marking as good", marker.MarkerNameHash, marker.Position); marker.Failed = false; lastMoveResult = MoveResult.PathGenerated; } } }