Rewrite disable mouse buttons logic

This commit is contained in:
ekrctb 2018-07-03 20:04:15 +09:00
parent 8ecd235820
commit d71b61c122

View File

@ -222,23 +222,16 @@ namespace osu.Game.Rulesets.UI
mouseDisabled = config.GetBindable<bool>(OsuSetting.MouseDisableButtons); mouseDisabled = config.GetBindable<bool>(OsuSetting.MouseDisableButtons);
} }
protected override void TransformState(InputState state) protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
{ {
base.TransformState(state); if (mouseDisabled.Value && (args.Button == MouseButton.Left || args.Button == MouseButton.Right)) return false;
return base.OnMouseDown(state, args);
}
// we don't want to transform the state if a replay is present (for now, at least). protected override bool OnMouseUp(InputState state, MouseUpEventArgs args)
if (replayInputHandler != null) return; {
if (!CurrentState.Mouse.IsPressed(args.Button)) return false;
var mouse = state.Mouse as Framework.Input.MouseState; return base.OnMouseUp(state, args);
if (mouse != null)
{
if (mouseDisabled.Value)
{
mouse.SetPressed(MouseButton.Left, false);
mouse.SetPressed(MouseButton.Right, false);
}
}
} }
#endregion #endregion