mirror of
https://github.com/osukey/osukey.git
synced 2025-05-09 23:57:18 +09:00
Change spinner to check currently pressed actions rather than implementing IKeyBindingHandler
This commit is contained in:
parent
9c6ca2d159
commit
9628c0b6d6
@ -1,6 +1,7 @@
|
|||||||
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
||||||
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||||
|
|
||||||
|
using System.Linq;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Framework.Graphics.Containers;
|
using osu.Framework.Graphics.Containers;
|
||||||
using osu.Game.Rulesets.Objects.Drawables;
|
using osu.Game.Rulesets.Objects.Drawables;
|
||||||
@ -165,6 +166,13 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
|
|||||||
glow.Colour = colours.BlueDark;
|
glow.Colour = colours.BlueDark;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void Update()
|
||||||
|
{
|
||||||
|
disc.Tracking = OsuActionInputManager.PressedActions.Any(x => x == OsuAction.LeftButton || x == OsuAction.RightButton);
|
||||||
|
|
||||||
|
base.Update();
|
||||||
|
}
|
||||||
|
|
||||||
protected override void UpdateAfterChildren()
|
protected override void UpdateAfterChildren()
|
||||||
{
|
{
|
||||||
base.UpdateAfterChildren();
|
base.UpdateAfterChildren();
|
||||||
|
@ -12,7 +12,7 @@ using OpenTK.Graphics;
|
|||||||
|
|
||||||
namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
|
namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
|
||||||
{
|
{
|
||||||
public class SpinnerDisc : CircularContainer, IHasAccentColour, IKeyBindingHandler<OsuAction>
|
public class SpinnerDisc : CircularContainer, IHasAccentColour
|
||||||
{
|
{
|
||||||
private readonly Spinner spinner;
|
private readonly Spinner spinner;
|
||||||
|
|
||||||
@ -73,39 +73,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
|
|||||||
return base.OnMouseMove(state);
|
return base.OnMouseMove(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool OnPressed(OsuAction action)
|
|
||||||
{
|
|
||||||
switch (action)
|
|
||||||
{
|
|
||||||
case OsuAction.LeftButton:
|
|
||||||
actionLeftButtonPressed = true;
|
|
||||||
break;
|
|
||||||
case OsuAction.RightButton:
|
|
||||||
actionRightButtonPressed = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
Tracking = actionLeftButtonPressed || actionRightButtonPressed;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool OnReleased(OsuAction action)
|
|
||||||
{
|
|
||||||
switch (action)
|
|
||||||
{
|
|
||||||
case OsuAction.LeftButton:
|
|
||||||
actionLeftButtonPressed = false;
|
|
||||||
break;
|
|
||||||
case OsuAction.RightButton:
|
|
||||||
actionRightButtonPressed = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
Tracking = actionLeftButtonPressed || actionRightButtonPressed;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
private Vector2 mousePosition;
|
private Vector2 mousePosition;
|
||||||
private bool actionLeftButtonPressed;
|
|
||||||
private bool actionRightButtonPressed;
|
|
||||||
|
|
||||||
private float lastAngle;
|
private float lastAngle;
|
||||||
private float currentRotation;
|
private float currentRotation;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user