コード例 #1
0
        public Trainer(string name, string desc, TrainerCategory trainerCategory)
        {
            Name         = name;
            Desc         = desc;
            BaseCost     = 25;
            TrainerGroup = trainerCategory;
            switch (TrainerGroup)
            {
            case TrainerCategory.Archer:
                TrainableAbilities = new List <PlayerAbility>
                {
                    new PlayerAbility(
                        "bandage", 25, 1, ArcherAbility.Bandage, 2),
                    new PlayerAbility(
                        "ambush", 75, 1, ArcherAbility.Ambush, 4),
                    new PlayerAbility(
                        "swift aura", 150, 1, ArcherAbility.SwiftAura, 6),
                    new PlayerAbility(
                        "immolating arrow", 35, 1, ArcherAbility.ImmolatingArrow, 8)
                };
                break;

            case TrainerCategory.Warrior:
                TrainableAbilities = new List <PlayerAbility>
                {
                    new PlayerAbility(
                        "bandage", 25, 1, WarriorAbility.Bandage, 2),
                    new PlayerAbility(
                        "war cry", 50, 1, WarriorAbility.WarCry, 4),
                    new PlayerAbility(
                        "power aura", 150, 1, WarriorAbility.PowerAura, 6),
                    new PlayerAbility(
                        "onslaught", 25, 1, WarriorAbility.Onslaught, 8)
                };
                break;

            case TrainerCategory.Mage:
                TrainableSpells = new List <PlayerSpell>
                {
                    new PlayerSpell(
                        "town portal", 100, 1, SpellType.TownPortal, 2),
                    new PlayerSpell(
                        "reflect", 100, 1, SpellType.Reflect, 4),
                    new PlayerSpell(
                        "arcane intellect", 150, 1, SpellType.ArcaneIntellect, 6),
                    new PlayerSpell(
                        "frost nova", 50, 1, SpellType.FrostNova, 8)
                };
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #2
0
        public IActionResult Save(TrainerCategory viewModel)
        {
            if (ModelState.IsValid)
            {
                if (_dataManager.TrainerCategories.SaveTrainerCategory(viewModel))
                {
                    return(RedirectToAction("Index"));
                }

                ModelState.AddModelError(nameof(viewModel.Name), "Категория тренера с такими данными уже существует");
            }

            return(View(viewModel));
        }
コード例 #3
0
        public bool SaveTrainerCategory(TrainerCategory entity)
        {
            if (!ContainsTrainerCategoryByName(entity.Name))
            {
                if (entity.Id == default)
                {
                    _context.Entry(entity).State = EntityState.Added;
                }
                else
                {
                    _context.Entry(entity).State = EntityState.Modified;
                }

                _context.SaveChanges();

                return(true);
            }

            return(false);
        }