Advertisement
Guest User

wccd62018a

a guest
Jun 20th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.97 KB | None | 0 0
  1. using SadConsole;
  2. using Console = SadConsole.Console;
  3. namespace LoveLace.Screens
  4. {
  5.     public static class ScreenManager
  6.     {
  7.         static Screen LoadScreen, MenuScreen, PlayScreen, InvtScreen;
  8.  
  9.         public static class Initialize
  10.         {
  11.             public static void Screens()
  12.             {
  13.                 MenuScreen = new Screen();
  14.                 LoadScreen = new Screen();
  15.                 PlayScreen = new Screen();
  16.                 InvtScreen = new Screen();
  17.  
  18.                 foreach (Console c in GameStates.Load.Splash.YieldStateConsoles())
  19.                 {
  20.                     LoadScreen.Children.Add(c);
  21.                 }
  22.                 foreach (Console c in GameStates.Menu.Start.YieldStateConsoles())
  23.                 {
  24.                     MenuScreen.Children.Add(c);
  25.                 }
  26.                 foreach (Console c in GameStates.Play.Root.YieldStateConsoles())
  27.                 {
  28.                     PlayScreen.Children.Add(c);
  29.                 }
  30.                 foreach (Console c in GameStates.Invt.Loader.YieldStateConsoles())
  31.                 {
  32.                     InvtScreen.Children.Add(c);
  33.                 }
  34.             }
  35.         }
  36.         static void SelectMenu()
  37.         {
  38.             OpenScreen(MenuScreen);
  39.             SadConsole.Global.CurrentScreen = MenuScreen;
  40.             GameStates.Menu.Start.Focus();
  41.         }
  42.         static void SelectLoad()
  43.         {
  44.             OpenScreen(LoadScreen);
  45.             SadConsole.Global.CurrentScreen = LoadScreen;
  46.             GameStates.Load.Splash.Focus();
  47.         }
  48.         static void SelectPlay()
  49.         {
  50.             OpenScreen(PlayScreen);
  51.             SadConsole.Global.CurrentScreen = PlayScreen;
  52.             GameStates.Play.Root.Focus();
  53.         }
  54.         static void SelectInvt()
  55.         {
  56.             OpenScreen(InvtScreen);
  57.             SadConsole.Global.CurrentScreen = InvtScreen;
  58.             GameStates.Invt.Loader.Focus();
  59.         }
  60.         static void CloseScreen(IScreen screen)
  61.         {
  62.             foreach (IScreen s in screen.Children)
  63.             {
  64.                 s.IsPaused = true;
  65.                 s.IsVisible = false;
  66.             }
  67.         }
  68.         static void OpenScreen(Screen screen)
  69.         {
  70.             foreach (IScreen s in screen.Children)
  71.             {
  72.                 s.IsPaused = false;
  73.                 s.IsVisible = true;
  74.             }
  75.         }
  76.  
  77.         public static void SelectScreen(int i)
  78.         {
  79.             CloseScreen(SadConsole.Global.CurrentScreen);
  80.  
  81.             switch (i)
  82.             {
  83.                 case 0:
  84.                     SelectLoad();
  85.                     break;
  86.                 case 1:
  87.                     SelectMenu();
  88.                     break;
  89.                 case 2:
  90.                     SelectPlay();
  91.                     break;
  92.                 case 3:
  93.                     SelectInvt();
  94.                     break;
  95.                 default:
  96.                     break;
  97.             }
  98.         }
  99.     }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement