Finish note placement on mouse down

This commit is contained in:
smoogipoo 2020-04-24 13:20:41 +09:00
parent 4f0b5a34d3
commit 2b0deec491
3 changed files with 14 additions and 11 deletions

View File

@ -3,6 +3,7 @@
using System;
using osu.Framework.Graphics;
using osu.Framework.Input.Events;
using osu.Game.Rulesets.Mania.Edit.Blueprints.Components;
using osu.Game.Rulesets.Mania.Objects;
using osuTK;
@ -46,6 +47,12 @@ namespace osu.Game.Rulesets.Mania.Edit.Blueprints
bodyPiece.Height = (bottomPosition - topPosition).Y;
}
protected override void OnMouseUp(MouseUpEvent e)
{
base.OnMouseUp(e);
EndPlacement(true);
}
private double originalStartTime;
public override void UpdatePosition(Vector2 screenSpacePosition)

View File

@ -54,12 +54,6 @@ namespace osu.Game.Rulesets.Mania.Edit.Blueprints
return true;
}
protected override void OnMouseUp(MouseUpEvent e)
{
EndPlacement(true);
base.OnMouseUp(e);
}
public override void UpdatePosition(Vector2 screenSpacePosition)
{
if (!PlacementActive)

View File

@ -2,9 +2,9 @@
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Graphics;
using osu.Framework.Input.Events;
using osu.Game.Rulesets.Mania.Edit.Blueprints.Components;
using osu.Game.Rulesets.Mania.Objects;
using osuTK;
namespace osu.Game.Rulesets.Mania.Edit.Blueprints
{
@ -28,12 +28,14 @@ namespace osu.Game.Rulesets.Mania.Edit.Blueprints
Position = SnappedMousePosition;
}
public override void UpdatePosition(Vector2 screenSpacePosition)
protected override bool OnMouseDown(MouseDownEvent e)
{
base.UpdatePosition(screenSpacePosition);
base.OnMouseDown(e);
// Continue updating the position until placement is finished on mouse up.
BeginPlacement(TimeAt(screenSpacePosition), PlacementActive);
// Place the note immediately.
EndPlacement(true);
return true;
}
}
}