Example #1
0
 public SentakkiPlayfield()
 {
     Anchor           = Anchor.Centre;
     Origin           = Anchor.Centre;
     RelativeSizeAxes = Axes.None;
     Rotation         = 0;
     Size             = new Vector2(600);
     AddRangeInternal(new Drawable[]
     {
         judgementPool   = new DrawablePool <DrawableSentakkiJudgement>(8),
         AccentContainer = new Container
         {
             RelativeSizeAxes = Axes.Both,
             Children         = new Drawable[]
             {
                 new PlayfieldVisualisation(),
                 ring = new SentakkiRing(),
             }
         },
         lanedPlayfield = new LanedPlayfield(),
         HitObjectContainer,                    // This only contains TouchHolds, which needs to be above others types
         touchPlayfield = new TouchPlayfield(), // This only contains Touch, which needs a custom playfield to handle their input
         judgementLayer = new Container <DrawableSentakkiJudgement>
         {
             RelativeSizeAxes = Axes.Both,
         }
     });
     AddNested(lanedPlayfield);
     AddNested(touchPlayfield);
     NewResult += onNewResult;
 }
        public SentakkiPlayfield()
        {
            RevolutionDuration.BindValueChanged(b =>
            {
                if (b.NewValue != 0)
                {
                    this.Spin(b.NewValue * 1000, RotationDirection.Clockwise).Then().Loop();
                }
            });

            Anchor           = Anchor.Centre;
            Origin           = Anchor.Centre;
            RelativeSizeAxes = Axes.None;
            Size             = new Vector2(600);
            AddRangeInternal(new Drawable[]
            {
                new VisualisationContainer(),
                ring = new SentakkiRing(),
                HitObjectContainer,
                judgementLayer = new JudgementContainer <DrawableSentakkiJudgement>
                {
                    RelativeSizeAxes = Axes.Both,
                },
            });
        }
Example #3
0
 public SentakkiPlayfield()
 {
     Anchor           = Anchor.Centre;
     Origin           = Anchor.Centre;
     RelativeSizeAxes = Axes.None;
     Rotation         = 0;
     Size             = new Vector2(600);
     AddRangeInternal(new Drawable[]
     {
         new VisualisationContainer(),
         ring = new SentakkiRing(),
         HitObjectContainer,
         judgementLayer = new JudgementContainer <DrawableSentakkiJudgement>
         {
             RelativeSizeAxes = Axes.Both,
         },
     });
 }
        public TestSceneSentakkiRing()
        {
            AddStep("Clear test", () =>
            {
                Clear();
                Add(new Box
                {
                    RelativeSizeAxes = Framework.Graphics.Axes.Both
                });
            });

            AddStep("Create Ring", () => Add(ring = new SentakkiRing()));
            AddUntilStep("Ring loaded", () => ring.IsLoaded && ring.Alpha == 1);
            AddToggleStep("Toggle notestart Indicators", b => ring.NoteStartIndicators.Value = b);
            AddRepeatStep("Trigger Kiai Beat", () => ring.KiaiBeat(), 5);
            AddSliderStep <float>("Test opacity", 0, 1, 1, f => { if (ring != null)
                                                                  {
                                                                      ring.RingOpacity.Value = f;
                                                                  }
                                  });
        }
 public SentakkiPlayfield()
 {
     Anchor           = Anchor.Centre;
     Origin           = Anchor.Centre;
     RelativeSizeAxes = Axes.None;
     Rotation         = 0;
     Size             = new Vector2(600);
     AddRangeInternal(new Drawable[]
     {
         judgementPool = new DrawablePool <DrawableSentakkiJudgement>(8),
         new PlayfieldVisualisation(),
         ring           = new SentakkiRing(),
         lanedPlayfield = new LanedPlayfield(),
         HitObjectContainer, // This only contains Touch and TouchHolds, which should appear above others note types. Might consider separating to another playfield.
         judgementLayer = new Container <DrawableSentakkiJudgement>
         {
             RelativeSizeAxes = Axes.Both,
         }
     });
     AddNested(lanedPlayfield);
     NewResult += onNewResult;
 }