public PlainRandomWorldGenerator( WorldSizeRelativeValue fromYRV, WorldSizeRelativeValue toYRV, TileTypeProbability[] originalProbabilities) { this.fromYRV = fromYRV; this.toYRV = toYRV; List<TileTypeProbability> probs = new List<TileTypeProbability>(); probs.AddRange(originalProbabilities); probs.Sort(SortByProbability); probabilityRange = 0; foreach (TileTypeProbability p in probs) probabilityRange += p.probability; for (int i = 1; i < probs.Count; i++) { TileTypeProbability p = probs[i]; p.probability += probs[i - 1].probability; probs[i] = p; } this.probabilities = probs.ToArray(); }
public PlainRandomWorldGenerator( WorldSizeRelativeValue fromYRV, WorldSizeRelativeValue toYRV, TileTypeProbability[] originalProbabilities) { this.fromYRV = fromYRV; this.toYRV = toYRV; List <TileTypeProbability> probs = new List <TileTypeProbability>(); probs.AddRange(originalProbabilities); probs.Sort(SortByProbability); probabilityRange = 0; foreach (TileTypeProbability p in probs) { probabilityRange += p.probability; } for (int i = 1; i < probs.Count; i++) { TileTypeProbability p = probs[i]; p.probability += probs[i - 1].probability; probs[i] = p; } this.probabilities = probs.ToArray(); }
static private int SortByProbability(TileTypeProbability a, TileTypeProbability b) { return b.probability.CompareTo(a.probability); }
static private int SortByProbability(TileTypeProbability a, TileTypeProbability b) { return(b.probability.CompareTo(a.probability)); }