Ejemplo n.º 1
0
        private void pagePageChanged(object sender, PageChangedEvent e)
        {
            if (!EnablePageChangeEvents)
            {
                return;
            }

            var page    = (Page)sender;
            var pagenum = pageLookup[page];

            if (MemberPageChanged != null)
            {
                MemberPageChanged(this, new MemberPageChangedEvent(page, pagenum, e));
            }
        }
Ejemplo n.º 2
0
        private void PageChanged(PageChangedEvent pageChangedEvent)
        {
            if (pageChangedEvent.Direction == ChangePageDirection.Next)
            {
                _page++;
            }
            else
            {
                if (_page == 0)
                {
                    return;
                }
                _page--;
            }

            UpdateButtonToNewDynamicAction();
        }
 /// <summary>
 /// Handle event after paging state changing
 /// </summary>
 private void PageChangedTriggered(PageChangedEvent obj)
 {
     CurrentPage = obj.PageNumber;
 }
Ejemplo n.º 4
0
 public static void FiredPageChangeEvent(string pageName)
 {
     PageChangedEvent?.Invoke(null, new PageChangedEventArge(pageName));
 }
        /// <summary>
        /// Set the Current Page of this PagedRect (by its position in the hierarchy)
        /// </summary>
        /// <param name="newPage"></param>
        /// <param name="initial"></param>
        public virtual void SetCurrentPage(int newPage, bool initial)
        {
            if (NumberOfPages == 0)
            {
                return;
            }

            if (newPage > NumberOfPages)
            {
                throw new UnityException("PagedRect.SetCurrentPage(int newPage) :: The value provided for 'newPage' is greater than the number of pages.");
            }
            else if (newPage <= 0)
            {
                throw new UnityException("PagedRect.SetCurrentPage(int newPage) :: The value provided for 'newPage' is less than zero.");
            }

            _timeSinceLastPage = 0.0f;

            //if (CurrentPage == newPage && !UsingScrollRect) return;

            UpdatePages(false, false, false);

            var previousPage = CurrentPage;

            _timeSinceLastPage = 0f;

            CurrentPage = newPage;

            var newPageIndex = GetPagePosition(newPage) - 1;

            if (!UsingScrollRect)
            {
                if (initial)
                {
                    Pages.ForEach(p =>
                    {
                        p.LegacyReset();
                    });
                }

                var direction = CurrentPage < previousPage ? eDirection.Left : eDirection.Right;

                for (var i = 0; i < NumberOfPages; i++)
                {
                    var page = Pages[i];
                    if (i == newPageIndex)
                    {
                        PageEnterAnimation(page, direction, initial);
                        if (Application.isPlaying)
                        {
                            page.OnShow();
                        }
                    }
                    else
                    {
                        if (page.gameObject.activeSelf)
                        {
                            if (Application.isPlaying)
                            {
                                page.OnHide();
                            }
                            PageExitAnimation(page, direction == eDirection.Left ? eDirection.Right : eDirection.Left);
                        }
                    }
                }
            }
            else
            {
                if (Application.isPlaying)
                {
                    // Using a Scroll Rect means that the ScrollRect itself will handle animation, we just need to trigger OnShow and OnHide events here
                    for (var i = 0; i < NumberOfPages; i++)
                    {
                        var page = Pages[i];
                        if (i == newPageIndex)
                        {
                            page.OnShow();
                        }
                        else
                        {
                            if (page.Visible)
                            {
                                page.OnHide();
                            }
                        }
                    }
                }

                CenterScrollRectOnCurrentPage(initial);
            }

            UpdatePagination();

            if (!initial && PageChangedEvent != null)
            {
                PageChangedEvent.Invoke(GetPageByNumber(CurrentPage), GetPageByNumber(previousPage));
            }

            if (UsingScrollRect && ShowPagePreviews)
            {
                UpdateSeamlessPagePositions_PagePreviews();
            }

            UpdateScrollBarPosition();
        }