Make selection blueprints handle position adjustments

This commit is contained in:
smoogipoo
2018-11-07 16:21:32 +09:00
parent 2612fd3099
commit 5d51719572
11 changed files with 71 additions and 28 deletions

View File

@ -12,7 +12,6 @@ using osu.Framework.Input.States;
using osu.Game.Rulesets.Edit;
using osu.Game.Rulesets.Edit.Tools;
using osu.Game.Rulesets.Objects.Drawables;
using OpenTK;
namespace osu.Game.Screens.Edit.Compose.Components
{
@ -165,7 +164,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
private void onSelectionRequested(SelectionBlueprint blueprint, InputState state) => selectionBox.HandleSelectionRequested(blueprint, state);
private void onDragRequested(SelectionBlueprint blueprint, Vector2 delta, InputState state) => selectionBox.HandleDrag(blueprint, delta, state);
private void onDragRequested(DragEvent dragEvent) => selectionBox.HandleDrag(dragEvent);
private class SelectionBlueprintContainer : Container<SelectionBlueprint>
{

View File

@ -12,7 +12,6 @@ using osu.Framework.Input.Events;
using osu.Framework.Input.States;
using osu.Game.Graphics;
using osu.Game.Rulesets.Edit;
using osu.Game.Rulesets.Edit.Types;
using OpenTK;
using OpenTK.Input;
@ -60,19 +59,12 @@ namespace osu.Game.Screens.Edit.Compose.Components
#region User Input Handling
public void HandleDrag(SelectionBlueprint m, Vector2 delta, InputState state)
public void HandleDrag(DragEvent dragEvent)
{
// Todo: Various forms of snapping
foreach (var blueprint in selectedBlueprints)
{
switch (blueprint.HitObject.HitObject)
{
case IHasEditablePosition editablePosition:
editablePosition.OffsetPosition(delta);
break;
}
}
blueprint.AdjustPosition(dragEvent);
}
protected override bool OnKeyDown(KeyDownEvent e)