public int Hatch(int level) { int result = 0; HatchLevelSetting hls = new HatchLevelSetting(HatchRate[level]); List <Tuple <int, double> > list = hls.ToList(); double rnd = RNG.NextDouble(); foreach (Tuple <int, double> rate in list) { if (rnd < rate.Item2) { result = rate.Item1; break; } rnd -= rate.Item2; } return(result); }
public int Hatch(int level) { int result = 0; HatchLevelSetting hls = new HatchLevelSetting(HatchRate[level]); List<Tuple<int, double>> list = hls.ToList(); double rnd = RNG.NextDouble(); foreach(Tuple<int, double> rate in list) { if (rnd < rate.Item2) { result = rate.Item1; break; } rnd -= rate.Item2; } return result; }