Beispiel #1
0
        public override bool OnPressed(DivaAction action)
        {
            this.Samples.Play();

            if (Judged || inputCount > 2)
            {
                return(false);
            }


            if (action == validAction || action == doubleAction)
            {
                inputCount++;
            }

            if (inputCount == 2)
            {
                pressed    = true;
                validPress = true;
            }

            // inputs.Add(action);
            // inputCount++;

            // if(inputCount == 2)
            // {
            //  pressed = true;
            //  validPress = inputs.Contains(validAction) && inputs.Contains(doubleAction);
            // }

            return(true);
        }
        public DrawableDivaHitObject(DivaHitObject hitObject)
            : base(hitObject)
        {
            Size = new Vector2(80);

            Origin   = Anchor.Centre;
            Position = hitObject.Position;
            Scale    = new Vector2(0.7f);

            AddRangeInternal(new Sprite[]
            {
                approachHand = new Sprite()
                {
                    Anchor           = Anchor.Centre,
                    Origin           = Anchor.Centre,
                    RelativeSizeAxes = Axes.Both,
                    Rotation         = 180f,
                    Depth            = 1,
                },
                approachPiece = new ApproachPiece()
                {
                    Depth            = 0,
                    RelativeSizeAxes = Axes.Both,
                    Anchor           = Anchor.Centre,
                    Origin           = Anchor.Centre,
                    Position         = hitObject.ApproachPieceOriginPosition,
                    StartPos         = hitObject.ApproachPieceOriginPosition,
                },
            });

            validAction = hitObject.ValidAction;
        }
Beispiel #3
0
        //placeholder
        private DivaAction ValidAction()
        {
            var ac = DivaAction.Circle;

            switch (prevAction)
            {
            case DivaAction.Circle:
                if (this.TargetButtons < 2)
                {
                    break;
                }
                ac = DivaAction.Cross;
                break;

            case DivaAction.Cross:
                if (this.TargetButtons < 3)
                {
                    break;
                }
                ac = DivaAction.Square;
                break;

            case DivaAction.Square:
                if (this.TargetButtons < 4)
                {
                    break;
                }
                ac = DivaAction.Triangle;
                break;
            }

            prevAction = ac;
            return(ac);
        }
Beispiel #4
0
        public override bool OnPressed(DivaAction action)
        {
            this.Samples.Play();

            if (Judged || inputCount > 1)
            {
                return(false);
            }


            inputs.Add(action);
            inputCount++;

            if (inputCount == 2)
            {
                pressed    = true;
                validPress = (inputs[0] == validAction && inputs[1] == validAction);
            }

            return(true);
        }
Beispiel #5
0
 public override void OnReleased(DivaAction action)
 {
     // inputs.Remove(action);
     // inputCount--;
 }
Beispiel #6
0
 public DrawableDivaDoubleHitObject(DivaHitObject hitObject)
     : base(hitObject)
 {
     doubleAction = (hitObject as DoublePressButton).DoubleAction;
 }
Beispiel #7
0
 private static DivaAction DoubleAction(DivaAction ac) => ac switch
 {