示例#1
0
 private DomainModel()
 {
     Characters        = new CharacterCatalog();
     CharacterConfigs  = new CharacterConfigCatalog();
     Jewels            = new JewelCatalog();
     JewelCutQualitys  = new JewelCutQualityCatalog();
     JewelModels       = new JewelModelCatalog();
     RarityTiers       = new RarityTierCatalog();
     Weapons           = new WeaponCatalog();
     WeaponJewelMatchs = new WeaponJewelMatchCatalog();
     WeaponModels      = new WeaponModelCatalog();
     WeaponTypes       = new WeaponTypeCatalog();
 }
示例#2
0
        private void HeroWeaponSell()
        {
            var count = 1;

            ArmorCatalog.Clear();

            Console.WriteLine("*** Hero Weapon List ***");
            Console.WriteLine($"#   Weapon Name            S   OV    SV");

            if (this.Hero.WeaponsBag.Count == 0)
            {
                Console.WriteLine($"You have no Weapons to sell at this time.");
            }
            else
            {
                foreach (var weapon in Hero.WeaponsBag.OrderBy(x => x.Name))
                {
                    Console.WriteLine($"w{count}. {weapon.Name,-20} {weapon.Strength,3} {weapon.OriginalValue,4:C0} {weapon.ResellValue,4:C0}");
                    WeaponCatalog.Add($"w{count}", weapon);
                }
            }
        }
示例#3
0
        private void ShowWeapons()
        {
            var count = 1;

            WeaponCatalog.Clear();

            Console.WriteLine("*** Weapons List ***");
            Console.WriteLine($"#   Weapon Name            S   OV    SV");
            if (WeaponList.Count <= 0)
            {
                Console.WriteLine($"Shop is currently out of weapons please try again later.");
            }
            else
            {
                foreach (var weapon in WeaponList.OrderBy(x => x.Name))
                {
                    Console.WriteLine($"w{count}. {weapon.Name,-20} {weapon.Strength,3} {weapon.OriginalValue,4:C0} {weapon.ResellValue,4:C0}");
                    WeaponCatalog.Add($"w{count}", weapon);
                    count++;
                }
            }
        }
示例#4
0
        private void ExecuteSell()
        {
            var pick = "";

            if (this.Hero.WeaponsBag.Count == 0 && this.Hero.ArmorsBag.Count == 0 && this.Hero.PotionBag.Count == 0)
            {
                Console.WriteLine("\nThere are currently no items in your bags that you can sell at this time.");
                Console.WriteLine("\nPress any key to go back to the shop menu");
                Console.ReadKey();
                Console.Clear();
                this.ShopMenu();
            }

            do
            {
                Console.WriteLine($"\nWhich item would you like to sell?");
                Console.WriteLine($"Type E if you do not wish to purch anything at this time.");
                pick = Console.ReadLine();
            } while (pick.Length <= 0);

            var weapon = new Weapon();
            var armor  = new Armor();
            var potion = new Potion();

            switch (pick.Substring(0, 1).ToLower())
            {
            case "w":

                if (WeaponCatalog.TryGetValue(pick.Substring(0, 2), out weapon))
                {
                    Hero.WeaponsBag.Remove(weapon);
                    this.WeaponList.Add(weapon);
                    Hero.Gold += weapon.ResellValue;

                    Console.WriteLine($"Hero just sold {weapon.Name}, for {weapon.ResellValue}!");
                    Console.WriteLine($"Hero now has {Hero.Gold}!  Time to go shopping!");
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "a":

                if (ArmorCatalog.TryGetValue(pick.Substring(0, 2), out armor))
                {
                    Hero.ArmorsBag.Remove(armor);
                    this.ArmorList.Add(armor);
                    Hero.Gold += armor.ResellValue;

                    Console.WriteLine($"Hero just sold {armor.Name}, for {armor.ResellValue}!");
                    Console.WriteLine($"Hero now has {Hero.Gold}!  Time to go shopping!");
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "p":

                if (PotionCatalog.TryGetValue(pick.Substring(0, 2), out potion))
                {
                    Hero.PotionBag.Remove(potion);
                    this.PotionList.Add(potion);
                    Hero.Gold += potion.ResellValue;

                    Console.WriteLine($"Hero just sold {potion.Name}, for {potion.ResellValue}!");
                    Console.WriteLine($"Hero now has {Hero.Gold}!  Time to go shopping!");
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "e":
                Console.Clear();
                this.ShopMenu();
                break;

            default:
                Console.WriteLine($"Item {pick} does not exist...");
                break;
            }
        }
示例#5
0
        private void ExecutePuchase()
        {
            var pick = "";

            do
            {
                Console.WriteLine($"\nWhich item would you like to purchase?");
                Console.WriteLine($"Type E if you do not wish to purch anything at this time.");
                pick = Console.ReadLine();
            } while (pick.Length <= 0);

            var weapon = new Weapon();
            var armor  = new Armor();
            var potion = new Potion();

            switch (pick.Substring(0, 1).ToLower())
            {
            case "w":

                if (WeaponCatalog.TryGetValue(pick.Substring(0, 2), out weapon))
                {
                    if (Hero.Gold >= weapon.OriginalValue)
                    {
                        Hero.Gold -= weapon.OriginalValue;
                        Hero.WeaponsBag.Add(weapon);
                        WeaponList.Remove(weapon);
                        Console.WriteLine($"Hero just purchased {weapon.Name}!");
                    }
                    else
                    {
                        Console.WriteLine($"You do not have enough Gold to purchase {weapon.Name}");
                        Console.WriteLine($"{weapon.Name} costs {weapon.OriginalValue}, you only have {Hero.Gold -4:C0}");
                    }
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "a":

                if (ArmorCatalog.TryGetValue(pick.Substring(0, 2), out armor))
                {
                    if (Hero.Gold >= armor.OriginalValue)
                    {
                        Hero.Gold -= armor.OriginalValue;
                        Hero.ArmorsBag.Add(armor);
                        ArmorList.Remove(armor);
                        Console.WriteLine($"Hero just purchased {armor.Name}!");
                    }
                    else
                    {
                        Console.WriteLine($"You do not have enough Gold to purchase {armor.Name}");
                        Console.WriteLine($"{armor.Name} costs {armor.OriginalValue}, you only have {Hero.Gold -4:C0}");
                    }
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "p":

                if (PotionCatalog.TryGetValue(pick.Substring(0, 2), out potion))
                {
                    if (Hero.Gold >= potion.OriginalValue)
                    {
                        Hero.Gold -= potion.OriginalValue;
                        Hero.PotionBag.Add(potion);
                        PotionList.Remove(potion);
                        Console.WriteLine($"Hero just purchased {potion.Name}!");
                    }
                    else
                    {
                        Console.WriteLine($"You do not have enough Gold to purchase {potion.Name}");
                        Console.WriteLine($"{potion.Name} costs {potion.OriginalValue}, you only have {Hero.Gold - 4:C0}");
                    }
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "e":
                Console.Clear();
                this.ShopMenu();
                break;

            default:
                Console.WriteLine($"Item {pick} does not exist...");
                break;
            }
        }
示例#6
0
 public WeaponPageViewModel()
 {
     _catalog = new WeaponCatalog();
 }