spaceconquest.Ship.reachable C# (CSharp) Method

reachable() private method

private reachable ( Hex3D startHex, int r ) : List
startHex Hex3D
r int
return List
        List<Hex3D> reachable(Hex3D startHex, int r)
        {
            startHex.distance = r;
            List<Hex3D> hexes = new List<Hex3D>();
            if (r <= 0)
            {
                return hexes;
            }
            foreach (Hex3D h in startHex.getNeighbors())
            {
                //if (!h.passable) continue;
                int dist = h.distance;
                if (dist == -1 || dist < r - 1)
                {
                    hexes.Add(h);
                    hexes.AddRange(reachable(h, r - 1));
                }
            }

            return hexes;
        }