void ShowMenu(MenuTitle menuTitle, MenuItem[] MenuItems)
        {
            #region debug message
#if DEBUG
            IO_Handler.LogItsCaller();
#endif
            #endregion
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine(menuTitle.ToString().PadLeft(offset + menuTitle.Length / 2));
            Console.WriteLine();
            Console.ResetColor();
            for (int i = 0; i < MenuItems.Length; i++)
            {
                if (i == index)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine(MenuItems[i].ToString().PadLeft(offset + MenuItems[i].Length / 2));
                    Console.ResetColor();
                }
                else
                {
                    Console.WriteLine(MenuItems[i].ToString().PadLeft(offset + MenuItems[i].Length / 2));
                }
            }
        }
        void MostViewedProjectionMenu()
        {
            MenuTitle mostViewedProjectionMenu = "Most Viewed Projection";

            MenuItem[] mostViewedProjectionMenuItems = { "Save to file" };
            try
            {
                if (ObjectContainer.FindProjectionMostViewed().ReservedSeatsCount < 1)
                {
                    throw new Exception("Nothing to show");
                }
                Projection mostViewed     = ObjectContainer.FindProjectionMostViewed();
                string[]   mostViewedData =
                {
                    $"{mostViewed.OwnMovie} ({mostViewed.OwnMovie.MinutesOfLength})",
                    $"On schedule: \n{mostViewed.OwnerAuditorium} in {mostViewed.OwnerAuditorium.OwnerCinema}"
                };
                Console.WriteLine(mostViewedData[0]);
                Console.WriteLine(mostViewedData[1]);
                mostViewedProjectionData = mostViewedData;
                KeepDoingMenu(mostViewedProjectionMenu, mostViewedProjectionMenuItems);
            }
            catch (Exception)
            {
                Console.WriteLine("\n\n");
                Console.WriteLine("Nothing to show yet.".PadLeft(offset + 10));
                Thread.Sleep(1500);
            }
        }
Beispiel #3
0
 public TitleScreen()
 {
     SoundManager.Instance.PlaySong("title");
     _title      = new MenuTitle(new Vector2(180, 100));
     _background = new MenuBackground(new Vector2(0, 0));
     _font       = FontManager.Instance.CreateNewDefaultFont();
 }
        void ReservationMenu()
        {
            MenuTitle inProjectionMenu = $"Reservations for {activeProjection.OwnMovie}({activeProjection.OwnMovie.MinutesOfLength})";

            MenuItem[] inProjectionMenuItems = { "-Reserve Seat-", "-Free Seat-", "-Check Seat Availability-" };
            ReservationMenuMethods[0] = activeProjection.ReserveSeat;
            ReservationMenuMethods[1] = activeProjection.FreeSeat;
            ReservationMenuMethods[2] = delegate() { activeProjection.PrintOwnSeatsByAvailability(); Console.WriteLine("\n\nPress any key to return..."); };
            KeepDoingMenu(inProjectionMenu, inProjectionMenuItems);
        }
        void CinemasMenu()
        {
            #region debug message
#if DEBUG
            IO_Handler.LogItsCaller();
#endif
            #endregion
            MenuTitle  cinemasMenu      = "Cinemas";
            MenuItem[] cinemasMenuItems = ListToMenuItemArray(ObjectContainer.CDB);
            KeepDoingMenu(cinemasMenu, cinemasMenuItems);
        }
        void KeepDoingMenu(MenuTitle menuTitle, MenuItem[] MenuItems)
        {
            index = 0;
            bool run = true;

            while (run)
            {
                ShowMenu(menuTitle, MenuItems);
                run = ControlMenu(MenuItems);
                Console.Clear();
            }
        }
        void InProjectionMenu()
        {
            MenuTitle inProjectionMenu = $"Projections of {activeAuditorium}@{activeCinema}";

            //MenuTitle current = inProjectionMenu+$"{activeAuditorium}@{activeCinema}";
            MenuItem[] inProjectionMenuItems = DictToMenuItemArray(activeAuditorium.OwnProjections);
            for (int i = 0; i < inProjectionMenuItems.Length; i++)
            {
                InProjectionMenuMethods[i] = ReservationMenu;
            }
            KeepDoingMenu(inProjectionMenu, inProjectionMenuItems);
        }
        void MainMenu()
        {
            #region debug message
#if DEBUG
            IO_Handler.LogItsCaller();
#endif
            #endregion
            MenuTitle  mainMenu       = "MAIN MENU";
            MenuItem   newCinema      = "-Create New Cinema-";
            MenuItem   cinemas        = "Cinemas Menu";
            MenuItem   mostProjection = "Most Viewed Projection";
            MenuItem[] MainMenuItems  = { newCinema, cinemas, mostProjection };
            KeepDoingMenu(mainMenu, MainMenuItems);
        }
        void InAuditoriumMenu()
        {
            #region debug message
#if DEBUG
            IO_Handler.LogItsCaller();
            Thread.Sleep(500);
#endif
            #endregion
            MenuTitle  inAuditoriumMenu      = "In ";
            MenuItem[] inAuditoriumMenuItems = { "-Add Nem Projection-", "Projections" };
            InAuditoriumMenuMethods[0] = activeAuditorium.AddNewProjection;
            InAuditoriumMenuMethods[1] = InProjectionMenu;
            string currentAuditorium = inAuditoriumMenu + activeCinema.OwnAuditoriums[(byte)(index + 1)].ToString() + $"@{ activeCinema}";
            KeepDoingMenu(currentAuditorium, inAuditoriumMenuItems);
        }
Beispiel #10
0
        //In Subs:
        void InCinemaMenu()
        {
            #region debug message
#if DEBUG
            IO_Handler.LogItsCaller();
            Thread.Sleep(500);
#endif
            #endregion
            MenuTitle  inCinemaMenu      = "In Cinema: ";
            MenuItem[] inCinemaMenuItems = DictToMenuItemArray(ObjectContainer.CDB[index].OwnAuditoriums);
            string     currentCinema     = inCinemaMenu + ObjectContainer.CDB[index].Name;
            activeCinema = ObjectContainer.CDB[index];
            for (int i = 0; i < activeCinema.OwnAuditoriums.Count; i++)
            {
                InCinemaMenuMethods[i] = InAuditoriumMenu;
            }
            KeepDoingMenu(currentCinema, inCinemaMenuItems);
        }
Beispiel #11
0
        //In Main:
        void NewCinemaMenu()
        {
            MenuTitle newCinemaMenu = "New Cinema Menu";

            MenuItem[] newCinemaMenuItems = { };
            ShowMenu(newCinemaMenu, newCinemaMenuItems);
            string cinemaName = IO_Handler.EnterString("Please, enter the name of the new cinema: ");

            if (ObjectContainer.CDB.Contains(ObjectContainer.CDB.Find(i => i.Name == cinemaName.ToUpper())))
            {
                throw new Exception("This Cinema has already exists!");
            }
            byte auditoriumCount = IO_Handler.EnterByte("Please, enter the number of auditoriums: ");

            new Cinema(cinemaName, auditoriumCount);
            CinemasMenuMethods[cinemaCounter++] = InCinemaMenu;
            IO_Handler.SuccessMessage($"New Cinema: \"{cinemaName}\" has been created with {auditoriumCount} Auditorium{(auditoriumCount>1?"s":"")} in it.");
            Thread.Sleep(sleepTime);
        }