예제 #1
0
    public void GoToPrevious()
    {
        if (!moving && PageEventsManager.currentPage.gameObject.GetComponent <LoadSceneOnPrevious>())
        {
            PageEventsManager.currentPage.gameObject.GetComponent <LoadSceneOnPrevious>().Load();
            return;
        }

        if (!moving && visitedPages.Count > 0)
        {
            var target = visitedPages.Pop();

            while (target == null && visitedPages.Count > 0)
            {
                target = visitedPages.Pop();
            }

            if (target != null)
            {
                var page = target.gameObject;
                processingPreviousMove = true;
                PageEventsManager.DisableEvents();
                PageEventsManager.ForcePageDeparture();
                StartCoroutine(MovePivotToTarget(page));
            }
        }
    }
예제 #2
0
    public void GoToPage(int id)
    {
        var pageRoot = GameObject.Find("Pages");

        if (pageRoot != null)
        {
            var pages = pageRoot.GetComponentsInChildren <Page>();
            if (id < pages.Length)
            {
                PageEventsManager.DisableEvents();
                PageEventsManager.ForcePageDeparture();
                //manually push the last page to stack
                visitedPages.Push(PageEventsManager.currentPage);
                StartCoroutine(MovePivotToTarget(pages[id].gameObject));
            }
        }
    }