示例#1
0
        private void GetEquipment(List <IEquipment> equipments, FactoryMethodManager factoryManager)
        {
            Console.Clear();

            IEquipment weapon = factoryManager.GetEquipment(EquipmentType.Weapon);

            Console.WriteLine($"{weapon.GetInfo()}\n\n");

            equipments.Add(weapon);
        }
示例#2
0
        private void GetArmour(List <IEquipment> equipments, FactoryMethodManager factoryManager)
        {
            Console.Clear();

            IEquipment armour = factoryManager.GetEquipment(EquipmentType.Armour);

            Console.WriteLine($"{armour.GetInfo()}\n\n");

            equipments.Add(armour);
        }
示例#3
0
        public void FactoryMethod()
        {
            FactoryMethodManager factoryManager = new FactoryMethodManager();
            List <IEquipment>    equipments     = new List <IEquipment>();
            float money  = 0;
            bool  create = true;

            while (create)
            {
                string[] menu =
                {
                    "[1] Craft Weapon",
                    "[2] Craft Armour",
                    "[3] Show Bag",
                    "[4] Show Money",
                    "[5] Sell All",
                    "",
                    "[0] Main Menu [9] Exit"
                };
                cw.CWStringArray(menu);
                Console.Write("Selection: ");
                ConsoleKeyInfo selection = Console.ReadKey();

                switch (selection.Key)
                {
                case ConsoleKey.D1:
                    GetEquipment(equipments, factoryManager);
                    break;

                case ConsoleKey.D2:
                    GetArmour(equipments, factoryManager);
                    break;

                case ConsoleKey.D3:
                    ShowBag(equipments);
                    break;

                case ConsoleKey.D4:
                    ShowMoney(money);
                    break;

                case ConsoleKey.D5:
                    SellAll(equipments, ref money);
                    break;

                case ConsoleKey.D9:
                    ExitConsoleApp();
                    break;

                case ConsoleKey.D0:
                    Console.Clear();
                    equipments = null;
                    create     = false;
                    break;

                default:
                    Console.Clear();
                    break;
                }
            }

            Console.Clear();
        }