Exemple #1
0
    void SetPageState(pageState state)
    {
        switch (state)
        {
        case pageState.None:
            Startpage.SetActive(false);
            EndPage.SetActive(false);
            CountPage.SetActive(false);
            break;

        case pageState.Start:
            Startpage.SetActive(true);
            EndPage.SetActive(false);
            CountPage.SetActive(false);
            break;

        case pageState.GameOver:
            Startpage.SetActive(false);
            EndPage.SetActive(true);
            CountPage.SetActive(false);
            break;

        case pageState.CountDown:
            Startpage.SetActive(false);
            EndPage.SetActive(false);
            CountPage.SetActive(true);
            break;
        }
    }
Exemple #2
0
        public void Show()
        {
            this.ColumnSpacing = 3;
            for (int i = 0; i < countLinkToPage + 1; i++)
            {
                this.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = Utils.GetSize(30)
                });
            }
            Children.Clear();

            tapGestureRecognizer = new TapGestureRecognizer();

            Label lblFirst = new Label {
                Text = 1.ToString(),
                HorizontalTextAlignment = TextAlignment.Center,
                VerticalTextAlignment   = TextAlignment.Center,
                BackgroundColor         = Color.White
            };

            lblFirst.GestureRecognizers.Add(tapGestureRecognizer);


            Label lblLast = new Label {
                Text = CountPage.ToString(),
                HorizontalTextAlignment = TextAlignment.Center,
                VerticalTextAlignment   = TextAlignment.Center,
                BackgroundColor         = Color.White
            };

            lblLast.GestureRecognizers.Add(tapGestureRecognizer);


            Label lblSeparator1 = new Label {
                Text = Separator,
                HorizontalTextAlignment = TextAlignment.Center,
                VerticalTextAlignment   = TextAlignment.Center
            };
            Label lblSeparator2 = new Label {
                Text = Separator,
                HorizontalTextAlignment = TextAlignment.Center,
                VerticalTextAlignment   = TextAlignment.Center
            };

            int centerLink = CountLinkToPage / 2 + 1;


            if (CountPage <= CountLinkToPage)
            {
                AddLabelsList(1, CountPage);
//				for (int i = 1; i < CountPage; i++) {
//					Children.Add(new Label { Text = i.ToString(), XAlign = TextAlignment.Center });
//				}
            }
            else
            {
                if (CurrentPage <= centerLink)                          // Если текущая страница вначале
                {
                    AddLabelsList(1, CountLinkToPage - 1);
                    Children.Add(lblSeparator1, Children.Count, 0);
                    Children.Add(lblLast, Children.Count, 0);
                }
                else if (CurrentPage >= CountPage - centerLink + 1)                     // Если текущая страница вконце
                {
                    Children.Add(lblFirst, Children.Count, 0);
                    Children.Add(lblSeparator1, Children.Count, 0);
                    AddLabelsList(CountPage - (CountLinkToPage - 1) + 1, CountPage);
                }
                else                            // Если текущая страница в "середине"
                {
                    Children.Add(lblFirst, Children.Count, 0);
                    Children.Add(lblSeparator1, Children.Count, 0);
                    AddLabelsList(CurrentPage - centerLink / 2, CurrentPage + centerLink / 2);
                    Children.Add(lblSeparator2, Children.Count, 0);
                    Children.Add(lblLast, Children.Count, 0);
                }
            }
        }