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);
    }
예제 #2
0
    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);
    }