コード例 #1
0
        public Monster GetEncounter()
        {
            if (!Encounters.Any())
            {
                return(null);
            }

            var totalChance = Encounters.Sum(x => x.Percentage);
            var result      = Rng.Between(1, totalChance);

            var total = 0;

            foreach (var encounter in Encounters)
            {
                total += encounter.Percentage;
                if (result <= total)
                {
                    return(MonsterFactory.Get(encounter.Id));
                }
            }
            ;

            return(null);
        }