private IEnumerable<Item> GenerateAvailableItems() { var randomizer = new Randomizer(); var generator = new ItemGenerator(new Randomizer()); for (int i = 0; i < 15; i++) { yield return new Item(generator.Generate(5)); } }
public override void LoadContent() { base.LoadContent(); smallFont = ContentManager.Load<SpriteFont>(@"Fonts\KootenaySmall"); var grid = new Grid(); grid.Width = Width; grid.Height = Height; grid.Rows.Add(Size.Fixed(80)); grid.Rows.Add(Size.Fill(2)); grid.Rows.Add(Size.Fill()); grid.Rows.Add(Size.Fixed(80)); grid.Columns.Add(Size.Fill()); Controls.Add(grid); grid.Cells[0, 0].Add(new Label { Text = "Victory!" }); ItemGenerator generator = new ItemGenerator(new Randomizer()); rewardsListBox = AddListBox<Item>(grid.Cells[1, 0], Vector2.Zero, 450, 250); rewardsListBox.ZIndex = 0.2f; rewardsListBox.EnableCheckBoxes = true; Random random = new Random(); for (int i = 0; i < 5 + random.Between(0, battle.Actors.Sum(x => x.CurrentStatistics.For<ExtraRewards>().Value)); i++) { //var item = encounterDefinition.Loot.Any() ? random.From(encounterDefinition.Loot) : generator.Generate(encounterDefinition.ItemLevel); var item = new Item(generator.Generate(encounterDefinition.ItemLevel)); rewardsListBox.Items.Add(item, new ItemTooltip(item) { Font = smallFont }, ItemTooltip.GetItemColor(item.Rarity)); } var okButton = CreateButton("OK", Vector2.Zero); okButton.Click += okButton_Click; grid.Cells[3, 0].Add(okButton); }