private bool GetHealthPack(ref HealthPackView health) { var target = Offset.StepOffsets .Select(o => Self.level.GetHealthPackAt(Self.playerLocation + o)) .Where(o => o.HasValue); if (target.Any()) { health = target.First(); return(true); } else { return(false); } }
private Path PathToHealth(ref HealthPackView safeHP) { var rankedRoutes = RankHealthPacks(); if (rankedRoutes.Count > 0) { var rankedPath = rankedRoutes .OrderBy(r => r.Item3) .ThenBy(r => r.Item1.Count) .First(); safeHP = rankedPath.Item2; return(rankedPath.Item1); } else { return(default(Path)); } }