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); } }
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); }
//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); }
//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); }