Exemple #1
0
 public PageSprite(BindablePage page)
 {
     _page.BindTo(page);
     Anchor           = Anchor.TopLeft;
     Origin           = Anchor.TopLeft;
     RelativeSizeAxes = Axes.Both;
 }
Exemple #2
0
        public PlayScreen(BindablePage page, bool runningStart = false)
        {
            _page.BindTo(page);

            ZoomInfoText  zoom;
            SpeedInfoText speed;
            BarInfoText   currentBar;

            RelativeSizeAxes = Axes.Both;

            AddInternal(new ModeInfoText(_page, Mode.Playing));
            AddInternal(currentBar = new BarInfoText(_page));
            AddInternal(speed      = new SpeedInfoText(_page));
            AddInternal(zoom       = new ZoomInfoText(_page));
            AddInternal(_playZone  = new PlayZone(_page, runningStart)
            {
                speedChanged      = speed.UpdateInfo,
                zoomChanged       = zoom.UpdateInfo,
                currentBarChanged = currentBar.UpdateInfo,
                PageEnd           = onPageEnd
            });

            //skip right to EditScreen when empty
            OnLoadComplete += _ =>
            {
                if (!_page.Value.Bars.Any())
                {
                    this.Push(new EditScreen(_page)
                    {
                        Save            = Save,
                        FinishedEditing = _playZone.jumpToFirstBar
                    });
                }
            };
        }
Exemple #3
0
 public BarInfoText(BindablePage page)
 {
     _page.BindTo(page);
     Margin = new MarginPadding {
         Top = 40
     };
     Font = new FontUsage().With(size: 150);
 }
Exemple #4
0
 private void pageSelected(BindablePage page, bool runningStart = false)
 {
     this.Push(new PlayScreen(page, runningStart)
     {
         Save     = Save,
         NextPage = selectNextPage
     });
 }
Exemple #5
0
 public SpeedInfoText(BindablePage page)
 {
     _page.BindTo(page);
     Anchor = Anchor.BottomRight;
     Origin = Anchor.BottomRight;
     Text   = $"Speed: {_page.Value.Speed.Value:P}";
     Margin = new MarginPadding {
         Right = 30, Bottom = 40
     };
 }
Exemple #6
0
 public ZoomInfoText(BindablePage page)
 {
     _page.BindTo(page);
     Anchor = Anchor.BottomRight;
     Origin = Anchor.BottomRight;
     Text   = $"Zoom: {_page.Value.Zoom.Value:P}";
     Margin = new MarginPadding {
         Right = 30
     };
 }
Exemple #7
0
        public EditZone(BindablePage page)
        {
            _page.BindTo(page);

            FillMode             = FillMode.Fit;
            RelativeSizeAxes     = Axes.Both;
            RelativePositionAxes = Axes.Both;
            Origin  = Anchor.Centre;
            Anchor  = Anchor.Centre;
            Masking = true;

            Child = new PageSprite(_page);
        }
Exemple #8
0
        public EditScreen(BindablePage page)
        {
            RelativeSizeAxes = Axes.Both;
            AddInternal(new Box
            {
                RelativeSizeAxes = Axes.Both,
                Colour           = Config.Colors["Background"]
            });

            AddInternal(new ModeInfoText(page, Mode.Editing));

            AddInternal(new EditZone(page));
        }
Exemple #9
0
        public PlayZone(BindablePage page, bool runningStart = false)
        {
            _page.BindTo(page);

            _running             = runningStart;
            RelativeSizeAxes     = Axes.Both;
            RelativePositionAxes = Axes.Both;
            Origin = Anchor.Centre;
            Anchor = Anchor.Centre;

            Child = zoomContainer = new Container
            {
                RelativeSizeAxes = Axes.Both,
                Origin           = Anchor.CentreLeft,
                Anchor           = Anchor.CentreLeft,
                Children         = new Drawable[]
                {
                    spriteA = spriteFront = new PageSprite(_page)
                    {
                        Anchor   = Anchor.CentreLeft,
                        Origin   = Anchor.CentreLeft,
                        FillMode = FillMode.Fit
                    },
                    spriteB = spriteBack = new PageSprite(_page)
                    {
                        Anchor   = Anchor.CentreLeft,
                        Origin   = Anchor.CentreLeft,
                        FillMode = FillMode.Fit
                    }
                }
            };

            currentBar.ValueChanged += e =>
            {
                resetBar();
                currentBarChanged?.Invoke(e.NewValue);
            };

            zoomContainer.ScaleTo(_page.Value.Zoom.Value);
        }
Exemple #10
0
 public MenuItem(BindablePage page)
 {
     _page.BindTo(page);
 }
Exemple #11
0
 public ModeInfoText(BindablePage page, Mode mode)
 {
     Text = $"{(mode == Mode.Playing ? "Playing" :"Editing")} '{Path.GetFileNameWithoutExtension(page.Value.Name)}'";
 }