Ejemplo n.º 1
0
        public void CreateNewHero()
        {
            Console.WriteLine("Input name for your hero: ");
            string name = Console.ReadLine();

            HeroModel newHero = new HeroModel()
            {
                Name = name, HealthPoints = 15, Current_healthpoints = 15, Vit = 1, Dex = 1, Str = 1, Acc = 1, Exp = 0, Char_level = 1, Money = 20, Current_place = 1
            };

            heroBusiness.Add(newHero);

            HeroModel heroModification = heroBusiness.Get(newHero.Id);

            equipmentBusiness.Add(new Equipment()
            {
                Name = "Wooden sword", Is_equiped = true, Owner_id = heroModification.Id, Points = 1, Price = 10, Type = "Weapon"
            });
            equipmentBusiness.Add(new Equipment()
            {
                Name = "Leather armor", Is_equiped = true, Owner_id = heroModification.Id, Points = 1, Price = 10, Type = "Armor"
            });

            List <Equipment> heroBeginingItems = equipmentBusiness.GetAllByOwnerId(heroModification.Id).ToList();

            heroModification.Equiped_weapon_id = heroBeginingItems[0].Id;
            heroModification.Equiped_Armor_id  = heroBeginingItems[1].Id;

            heroBusiness.Update(heroModification);
        }
        private void ChangeHeroTable()
        {
            List <HeroModel> heros = heroBusiness.GetAll();

            switch (getActionCommand())
            {
            case "v":
                Console.WriteLine();
                Console.Clear();

                int i = 1;
                foreach (HeroModel hero in heros)
                {
                    Console.WriteLine($" {i}: {hero.Name.Trim()} / {hero.Char_level} level");
                    i++;
                }

                ChangeHeroTable();
                break;

            case "a":
                HeroModel newHero = new HeroModel();
                Console.Write("Input hero name: ");
                newHero.Name = Console.ReadLine();
                Console.Write("Input hero Healthpoints: ");
                newHero.HealthPoints = int.Parse(Console.ReadLine());
                Console.Write("Input hero Current Healthpoints: ");
                newHero.Current_healthpoints = int.Parse(Console.ReadLine());
                Console.Write("Input hero vitality: ");
                newHero.Vit = int.Parse(Console.ReadLine());
                Console.Write("Input hero dexterity: ");
                newHero.Dex = int.Parse(Console.ReadLine());
                Console.Write("Input hero strenght: ");
                newHero.Str = int.Parse(Console.ReadLine());
                Console.Write("Input hero accuracy: ");
                newHero.Acc = int.Parse(Console.ReadLine());
                Console.Write("Input hero exp: ");
                newHero.Exp = int.Parse(Console.ReadLine());
                Console.Write("Input hero level: ");
                newHero.Char_level = int.Parse(Console.ReadLine());
                Console.Write("Input hero money: ");
                newHero.Money = int.Parse(Console.ReadLine());
                Console.Write("Input hero current place id: ");
                newHero.Current_place = int.Parse(Console.ReadLine());

                heroBusiness.Add(newHero);
                Console.Clear();
                Console.WriteLine("Hero " + newHero.Name.Trim() + " added!");
                ChangeHeroTable();
                break;

            case "d":
                int j = 1;
                foreach (HeroModel hero in heros)
                {
                    Console.WriteLine($" {j}: {hero.Name.Trim()} / {hero.Char_level} level");
                    j++;
                }
                Console.WriteLine("Which hero do you wish to delete? Input number.");
                int deleteNumber = int.Parse(Console.ReadLine());
                if (Utils.inArrayRange(heros.Count, (deleteNumber - 1)))
                {
                    List <Equipment> itemsToDelete = equipmentBusiness.GetAllByOwnerId(heros[deleteNumber - 1].Id);
                    heroBusiness.Delete(heros[deleteNumber - 1].Id);
                    for (int p = 0; p < itemsToDelete.Count; p++)
                    {
                        equipmentBusiness.Delete(itemsToDelete[p].Id);
                    }
                }
                Console.WriteLine("Hero " + heros[deleteNumber - 1].Name.Trim() + " was deleted!");
                Console.Clear();
                ChangeHeroTable();
                break;

            default:
                ChooseTable();
                break;
            }
        }