예제 #1
0
        public Encounter GetEncounter(int ownerIndex)
        {
            var valid    = new List <DungeonEncounter>();
            int priority = 0;

            foreach (var dungeonMonster in dungeon.monsters)
            {
                if (dungeonMonster.min <= dungeon.currentLevel &&
                    dungeonMonster.max >= dungeon.currentLevel &&
                    dungeonMonster.priority >= priority)
                {
                    if (dungeonMonster.priority > priority)
                    {
                        priority = dungeonMonster.priority;
                        valid.Clear();
                    }
                    valid.Add(dungeonMonster);
                }
            }

            var choosen   = valid.Random();
            var encounter = DungeonFactory.CreateEncounter(choosen.monsters, ownerIndex);

            return(encounter);
        }