private List <WorldGenStep_Roads.Link> GenerateFinalLinks(List <WorldGenStep_Roads.Link> linkProspective, int endpointCount) { List <WorldGenStep_Roads.Connectedness> list = new List <WorldGenStep_Roads.Connectedness>(); for (int i = 0; i < endpointCount; i++) { list.Add(new WorldGenStep_Roads.Connectedness()); } List <WorldGenStep_Roads.Link> list2 = new List <WorldGenStep_Roads.Link>(); int j = 0; while (j < linkProspective.Count) { WorldGenStep_Roads.Link prospective = linkProspective[j]; if (list[prospective.indexA].Group() != list[prospective.indexB].Group()) { goto IL_A9; } if (Rand.Value <= 0.015f) { if (!list2.Any((WorldGenStep_Roads.Link link) => link.indexB == prospective.indexA && link.indexA == prospective.indexB)) { goto IL_A9; } } IL_13B: j++; continue; IL_A9: if (Rand.Value > 0.1f) { list2.Add(prospective); } if (list[prospective.indexA].Group() != list[prospective.indexB].Group()) { WorldGenStep_Roads.Connectedness parent = new WorldGenStep_Roads.Connectedness(); list[prospective.indexA].Group().parent = parent; list[prospective.indexB].Group().parent = parent; goto IL_13B; } goto IL_13B; } return(list2); }
private static int <GenerateProspectiveLinks> m__3(WorldGenStep_Roads.Link lhs, WorldGenStep_Roads.Link rhs) { return(lhs.distance.CompareTo(rhs.distance)); }