예제 #1
0
        public override IEnumerator RunTest()
        {
            // Show some empty view as a background for the toasts:
            ViewStackHelper.MainViewStack().ShowView(someUiScreenPrefabName);

            Toast.Show("Some toast 1", "Lorem ipsum 1");
            yield return(new WaitForSeconds(1));

            Toast.Show("Some toast 2");

            // In between show another screen on the main view stack, to ensure it does not interrupt showing the toasts:
            ViewStackHelper.MainViewStack().SwitchToView(someUiScreenPrefabName);

            yield return(new WaitForSeconds(1));

            var toast3 = Toast.Show("Some toast 3", "Lorem ipsum 3", 2500);

            AssertV2.IsFalse(toast3.IsDestroyed(), "Toast was already destroyed");
            yield return(new WaitForSeconds(3));

            AssertV2.IsTrue(toast3.IsDestroyed(), "Toast could not be destroyed");

            RootCanvas.GetAllRootCanvases().Single().gameObject.Destroy();
            Toast.Show("Some toast 4");
            yield return(new WaitForSeconds(3));
        }
예제 #2
0
        static void AddRootCanvas()
        {
            var foundCanvas = RootCanvas.GetAllRootCanvases().FirstOrDefault();

            if (foundCanvas != null)
            {
                Log.e("There is already a root canvas in the scene");
                SelectInHirarchyUi(foundCanvas);
                return;
            }
            AddViewInViewStack();
        }
예제 #3
0
 public void Update()
 {
     if (Input.GetKeyUp(KeyCode.Escape))   // back button pressed
     {
         Log.d("Back key pressed");
         var vs = gameObject.GetComponent <ViewStack>();
         var c  = vs.gameObject.GetComponentInParents <Canvas>()?.rootCanvas;
         if (c != null && c == RootCanvas.GetAllRootCanvases().First())
         {
             var sortedViews = SortByCanvasSortingOrder(vs.gameObject.GetChildrenIEnumerable());
             if (!vs.SwitchBackToLastView(sortedViews.First()))
             {
                 // The last view was reached so the switch back could not be performed
                 if (destroyFinalView)
                 {
                     vs.DestroyViewStack();
                 }
             }
         }
     }
 }