Exemplo n.º 1
0
 public static void ReplaceTopScreen(ScreenBase screen)
 {
     Debug.Print("ReplaceToTopScreen");
     if (ScreenManager._screenList.Count > 0)
     {
         ScreenManager.TopScreen.HandlePause();
         ScreenManager.TopScreen.HandleDeactivate();
         ScreenManager.TopScreen.HandleFinalize();
         ScreenManager.OnPopScreenEvent onPopScreen = ScreenManager.OnPopScreen;
         if (onPopScreen != null)
         {
             onPopScreen(ScreenManager.TopScreen);
         }
         ScreenManager._screenList.Remove(ScreenManager.TopScreen);
     }
     ScreenManager._screenList.Add(screen);
     screen.HandleInitialize();
     screen.HandleActivate();
     screen.HandleResume();
     ScreenManager.RefreshGlobalOrder();
     ScreenManager.OnPushScreenEvent onPushScreen = ScreenManager.OnPushScreen;
     if (onPushScreen == null)
     {
         return;
     }
     onPushScreen(screen);
 }
Exemplo n.º 2
0
 public static void CleanAndPushScreen(ScreenBase screen)
 {
     Debug.Print(nameof(CleanAndPushScreen));
     ScreenManager.DeactivateAndFinalizeAllScreens();
     ScreenManager._screenList.Add(screen);
     screen.HandleInitialize();
     screen.HandleActivate();
     screen.HandleResume();
     ScreenManager.RefreshGlobalOrder();
     ScreenManager.OnPushScreenEvent onPushScreen = ScreenManager.OnPushScreen;
     if (onPushScreen == null)
     {
         return;
     }
     onPushScreen(screen);
 }
Exemplo n.º 3
0
 public static void SetAndActivateRootScreen(ScreenBase screen)
 {
     Debug.Print(nameof(SetAndActivateRootScreen));
     if (ScreenManager.TopScreen != null)
     {
         throw new Exception("TopScreen is not null.");
     }
     ScreenManager._screenList.Add(screen);
     screen.HandleInitialize();
     screen.HandleActivate();
     screen.HandleResume();
     ScreenManager.RefreshGlobalOrder();
     ScreenManager.OnPushScreenEvent onPushScreen = ScreenManager.OnPushScreen;
     if (onPushScreen == null)
     {
         return;
     }
     onPushScreen(screen);
 }
Exemplo n.º 4
0
 public static void PushScreen(ScreenBase screen)
 {
     Debug.Print(nameof(PushScreen));
     if (ScreenManager._screenList.Count > 0)
     {
         ScreenManager.TopScreen.HandlePause();
         if (ScreenManager.TopScreen.IsActive)
         {
             ScreenManager.TopScreen.HandleDeactivate();
         }
     }
     ScreenManager._screenList.Add(screen);
     screen.HandleInitialize();
     screen.HandleActivate();
     screen.HandleResume();
     ScreenManager.RefreshGlobalOrder();
     ScreenManager.OnPushScreenEvent onPushScreen = ScreenManager.OnPushScreen;
     if (onPushScreen == null)
     {
         return;
     }
     onPushScreen(screen);
 }