public void FindPaths() { paths.Clear(); // Find the arrival var arrival = world.Entities().OfType <Arrival>().FirstOrDefault(x => x.Direction == DirectionType.Middle); if (arrival == null) { throw new Exception("Could not find arrival!"); } // Find spawns var spawns = world.Entities().OfType <Spawn>(); // Find a path for each spawn foreach (Spawn spawn in spawns) { paths.Add(spawn, pathfinder.FindPath(spawn.Tile, arrival.Tile)); } }