public SpawnGenerator(IEnumerable <T> objects, int seed) { r = new Random(seed); var totalProbability = 0; spawnableEntities = new List <SpawnableWrapper>(); foreach (var o in objects) { var spawnable = new SpawnableWrapper(o, totalProbability); totalProbability += o.OneInThousandProbability; spawnableEntities.Add(spawnable); } Debug.Assert(totalProbability <= 1000); }
public SpawnGenerator(IEnumerable <T> objects, int seed) { Debug.Assert(objects != null); r = new Random(seed); var cumulativeProbability = 0; spawnableEntities = new List <SpawnableWrapper>(); foreach (var o in objects) { var spawnable = new SpawnableWrapper(o, cumulativeProbability); cumulativeProbability = spawnable.MaxThreshold; spawnableEntities.Add(spawnable); } Debug.Assert(cumulativeProbability <= 1000); }