示例#1
0
        private TestDrawableControlPoint createDrawablePoint(TestPlayfield playfield, double t)
        {
            var obj = new TestDrawableControlPoint(playfield.Direction, t);

            setAnchor(obj, playfield);
            return(obj);
        }
示例#2
0
        public void Setup() => Schedule(() =>
        {
            reset();

            if (eventBuffer != null)
            {
                eventBuffer.HitObjectUsageBegan       -= onHitObjectUsageBegan;
                eventBuffer.HitObjectUsageFinished    -= onHitObjectUsageFinished;
                eventBuffer.HitObjectUsageTransferred -= onHitObjectUsageTransferred;
            }

            var topPlayfield = new TestPlayfield();
            topPlayfield.AddNested(playfield1 = new TestPlayfield());
            topPlayfield.AddNested(playfield2 = new TestPlayfield());

            eventBuffer = new HitObjectUsageEventBuffer(topPlayfield);
            eventBuffer.HitObjectUsageBegan       += onHitObjectUsageBegan;
            eventBuffer.HitObjectUsageFinished    += onHitObjectUsageFinished;
            eventBuffer.HitObjectUsageTransferred += onHitObjectUsageTransferred;

            Children = new Drawable[]
            {
                topPlayfield,
                intermediateDrawable = new TestDrawable(),
            };
        });
示例#3
0
        public TestCaseScrollingHitObjects()
        {
            Add(new GridContainer
            {
                RelativeSizeAxes = Axes.Both,
                Content          = new[]
                {
                    new Drawable[]
                    {
                        scrollContainers[0] = new ScrollingTestContainer(ScrollingDirection.Up)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[0] = new TestPlayfield()
                        },
                        scrollContainers[1] = new ScrollingTestContainer(ScrollingDirection.Up)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[1] = new TestPlayfield()
                        },
                    },
                    new Drawable[]
                    {
                        scrollContainers[2] = new ScrollingTestContainer(ScrollingDirection.Up)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[2] = new TestPlayfield()
                        },
                        scrollContainers[3] = new ScrollingTestContainer(ScrollingDirection.Up)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[3] = new TestPlayfield()
                        }
                    }
                }
            });

            AddStep("Constant scroll", () => setScrollAlgorithm(ScrollVisualisationMethod.Constant));
            AddStep("Overlapping scroll", () => setScrollAlgorithm(ScrollVisualisationMethod.Overlapping));
            AddStep("Sequential scroll", () => setScrollAlgorithm(ScrollVisualisationMethod.Sequential));

            AddSliderStep("Time range", 100, 10000, 5000, v => scrollContainers.ForEach(c => c.TimeRange = v));
            AddStep("Add control point", () => addControlPoint(Time.Current + 5000));
        }
示例#4
0
        public void Setup() => Schedule(() =>
        {
            Child = new GridContainer
            {
                RelativeSizeAxes = Axes.Both,
                Content          = new[]
                {
                    new Drawable[]
                    {
                        scrollContainers[0] = new ScrollingTestContainer(ScrollingDirection.Up)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[0] = new TestPlayfield(),
                            TimeRange        = time_range
                        },
                        scrollContainers[1] = new ScrollingTestContainer(ScrollingDirection.Down)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[1] = new TestPlayfield(),
                            TimeRange        = time_range
                        },
                    },
                    new Drawable[]
                    {
                        scrollContainers[2] = new ScrollingTestContainer(ScrollingDirection.Left)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[2] = new TestPlayfield(),
                            TimeRange        = time_range
                        },
                        scrollContainers[3] = new ScrollingTestContainer(ScrollingDirection.Right)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[3] = new TestPlayfield(),
                            TimeRange        = time_range
                        }
                    }
                }
            };

            hitObjectSpawnDelegate?.Cancel();
        });
示例#5
0
        public void Setup() => Schedule(() =>
        {
            Child = new GridContainer
            {
                RelativeSizeAxes = Axes.Both,
                Content          = new[]
                {
                    new Drawable[]
                    {
                        scrollContainers[0] = new ScrollingTestContainer(ScrollingDirection.Up)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[0] = new TestPlayfield(),
                            TimeRange        = spawn_interval
                        },
                        scrollContainers[1] = new ScrollingTestContainer(ScrollingDirection.Down)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[1] = new TestPlayfield(),
                            TimeRange        = spawn_interval
                        },
                    },
                    new Drawable[]
                    {
                        scrollContainers[2] = new ScrollingTestContainer(ScrollingDirection.Left)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[2] = new TestPlayfield(),
                            TimeRange        = spawn_interval
                        },
                        scrollContainers[3] = new ScrollingTestContainer(ScrollingDirection.Right)
                        {
                            RelativeSizeAxes = Axes.Both,
                            Child            = playfields[3] = new TestPlayfield(),
                            TimeRange        = spawn_interval
                        }
                    }
                }
            };

            setUpHitObjects();
        });
示例#6
0
        private void setAnchor(DrawableHitObject obj, TestPlayfield playfield)
        {
            switch (playfield.Direction)
            {
            case ScrollingDirection.Up:
                obj.Anchor = Anchor.TopCentre;
                break;

            case ScrollingDirection.Down:
                obj.Anchor = Anchor.BottomCentre;
                break;

            case ScrollingDirection.Left:
                obj.Anchor = Anchor.CentreLeft;
                break;

            case ScrollingDirection.Right:
                obj.Anchor = Anchor.CentreRight;
                break;
            }
        }
示例#7
0
        public TestCaseScrollingHitObjects()
        {
            Add(new GridContainer
            {
                RelativeSizeAxes = Axes.Both,
                Content          = new[]
                {
                    new Drawable[]
                    {
                        playfields[0] = new TestPlayfield(ScrollingDirection.Up),
                        playfields[1] = new TestPlayfield(ScrollingDirection.Down)
                    },
                    new Drawable[]
                    {
                        playfields[2] = new TestPlayfield(ScrollingDirection.Left),
                        playfields[3] = new TestPlayfield(ScrollingDirection.Right)
                    }
                }
            });

            AddSliderStep("Time range", 100, 10000, 5000, v => playfields.ForEach(p => p.VisibleTimeRange.Value = v));
            AddStep("Add control point", () => addControlPoint(Time.Current + 5000));
        }