private static void CollectLoot(Roguelike.RoguelikeGame game, Loot loot) { var freeTile = game.Level.GetFirstEmptyPoint().Value; Assert.True(game.Level.SetTile(loot, freeTile)); Assert.True(game.Level.SetTile(game.Hero, freeTile)); Assert.True(game.GameManager.CollectLootOnHeroPosition()); Assert.True(game.Hero.Inventory.Contains(loot)); }
private void TestInteraction <T>(Roguelike.RoguelikeGame game, bool interShallBeDestroyed) where T : Roguelike.Tiles.Interactive.InteractiveTile, new() { var inters = game.Level.GetTiles <T>(); var intersCount = inters.Count; Assert.GreaterOrEqual(intersCount, 5); foreach (var inter in inters) { InteractHeroWith(inter); } inters = game.Level.GetTiles <T>(); Assert.AreEqual(inters.Count, interShallBeDestroyed ? 0 : intersCount); }
private List <Loot> GetLootFromSrc(Roguelike.RoguelikeGame game, IEnumerable <ILootSource> enemies) { List <Loot> res = new List <Loot>(); int numOfLoot = 0; foreach (var en in enemies) { var loot = game.GameManager.LootManager.TryAddForLootSource(en); if (loot.Any()) { numOfLoot++; foreach (var l in loot) { game.Level.RemoveLoot(l.point); game.Level.SetEmptyTile(l.point); res.Add(l); } } } return(res); }
private void RevealAllEnemies(Roguelike.RoguelikeGame game) { AllEnemies.ForEach(i => i.Revealed = true); }