Пример #1
0
 static void Main(string[] args)
 {
     while (true)
     {
         InputOutput.ShowMainMenu();
         Engine.HandleMainMenuInput(InputOutput.TakeInput());
     }
 }
Пример #2
0
        public static void ListShelfs()
        {
            Console.Clear();
            int  shelfCount    = Engine.shelfHolder.Length;
            int  currentPage   = 0;
            int  counterSlots  = 0;
            int  availableSlot = 0;
            bool hasPressedEsc = false;

            //Count the pages
            for (int i = 0; i < shelfCount; i++)
            {
                if (Engine.shelfHolder[i] != null)
                {
                    counterSlots += 1;
                }
                if (Engine.shelfHolder[i] == null)
                {
                    continue;
                }
            }


            while (!hasPressedEsc)
            {
                availableSlot = 0;
                if (currentPage >= counterSlots)
                {
                    currentPage -= 1;
                }
                if (currentPage <= -1)
                {
                    currentPage = 0;
                }
                if (Engine.shelfCounter == 0)
                {
                    Console.Clear();
                    Console.WriteLine("There are no shelves.");
                    Console.ReadKey(true);
                    return;
                }

                for (int j = 0; j < Engine.shelfHolder[currentPage].box.GetLength(0); j++)
                {
                    Console.Write("|");
                    for (int k = 0; k < Engine.shelfHolder[currentPage].box.GetLength(1); k++)
                    {
                        if (Engine.shelfHolder[currentPage].box[j, k].desc == null)
                        {
                            Console.Write("   |");
                            availableSlot += 1;
                        }
                        else
                        {
                            Console.Write(" X |");
                        }
                    }
                    Console.WriteLine();
                }

                Console.WriteLine($"{currentPage + 1}({counterSlots})");
                Console.WriteLine();
                Console.WriteLine($"Name: {Engine.shelfHolder[currentPage].name}");
                Console.WriteLine($"Available slots: {availableSlot}");
                Console.WriteLine();
                Console.WriteLine("(<) Previous shelf (>) Next shelf");
                ConsoleKey input = InputOutput.TakeInput();
                switch (input)
                {
                case ConsoleKey.RightArrow:
                    currentPage += 1;
                    Console.Clear();
                    break;

                case ConsoleKey.LeftArrow:
                    currentPage -= 1;
                    Console.Clear();
                    break;

                case ConsoleKey.Escape:
                    hasPressedEsc = true;
                    break;

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