示例#1
0
 private void SetKindRelatedMembers(FoodKind kind)
 {
     SetName();
     DisplayedName = GetNameOrDisplayedName(false);
     SetPrimaryStatDesc();
     SetDefaultTagFromKind(kind);
 }
示例#2
0
 public Food(FoodKind kind)
 {
     ConsumptionSteps = 5;
     Symbol           = '-';
     LootKind         = LootKind.Food;
     SetKind(kind);
     Price = 15;
 }
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            FoodKind = await _context.FoodKind.FirstOrDefaultAsync(m => m.FoodKindID == id);

            if (FoodKind == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            FoodKind = await _context.FoodKind.FindAsync(id);

            if (FoodKind != null)
            {
                _context.FoodKind.Remove(FoodKind);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
示例#5
0
        protected virtual void SetDefaultTagFromKind(FoodKind kind)
        {
            //if (!string.IsNullOrEmpty(tag1))
            //  return;
            switch (Kind)
            {
            case FoodKind.Unset:
                break;

            case FoodKind.Plum:
                tag1 = "plum_mirabelka";
                break;
            //case FoodKind.Herb:
            //  tag1 = "szczaw";
            //  break;

            case FoodKind.Meat:
                tag1 = "meat_raw";
                if (Roasted)
                {
                    tag1 = "meat_roasted";
                }
                break;

            case FoodKind.Fish:
                tag1 = "fish_raw";
                if (Roasted)
                {
                    tag1 = "fish_roasted";
                }
                break;

            case FoodKind.Apple:
                tag1 = "apple";
                break;

            default:
                break;
            }
        }
示例#6
0
        void LootPropsTest(FoodKind kind, string desc)
        {
            var game = CreateGame(true);
            var hero = game.Hero;

            hero.Name = "LootPropsTest";
            var loot = new Food(kind);

            hero.Inventory.Add(loot);
            Assert.AreEqual(loot.PrimaryStatDescription, desc);
            Assert.AreEqual(game.Hero.Inventory.Items.Count, 1);

            game.GameManager.Save();
            game.GameManager.Load(hero.Name);
            var loadedHero = game.GameManager.Hero;

            Assert.AreNotEqual(hero, loadedHero);
            Assert.AreEqual(loadedHero.Name, "LootPropsTest");
            Assert.AreEqual(game.Hero.Inventory.Items.Count, 1);
            var lootLoaded = game.Hero.Inventory.Items.ElementAt(0) as Food;

            Assert.AreEqual(loot.Kind, lootLoaded.Kind);
            Assert.AreEqual(loot.PrimaryStatDescription, lootLoaded.PrimaryStatDescription);
        }
示例#7
0
 public void SetKind(FoodKind kind)
 {
     Kind = kind;
     SetKindRelatedMembers(kind);
 }
示例#8
0
 bool IsRoastable(FoodKind kind)
 {
     return(kind == FoodKind.Fish || kind == FoodKind.Meat);
 }