SelectionBox -> SelectionHandler

This commit is contained in:
smoogipoo
2018-11-19 16:58:11 +09:00
parent 595e2ffbff
commit 55edeb095d
9 changed files with 25 additions and 22 deletions

View File

@ -49,7 +49,7 @@ namespace osu.Game.Rulesets.Mania.Edit
new NoteCompositionTool()
};
public override SelectionBox CreateSelectionBox() => new ManiaSelectionBox();
public override SelectionHandler CreateSelectionHandler() => new ManiaSelectionHandler();
public override SelectionBlueprint CreateBlueprintFor(DrawableHitObject hitObject)
{

View File

@ -13,7 +13,7 @@ using OpenTK;
namespace osu.Game.Rulesets.Mania.Edit
{
public class ManiaSelectionBox : SelectionBox
public class ManiaSelectionHandler : SelectionHandler
{
[Resolved]
private IScrollingInfo scrollingInfo { get; set; }

View File

@ -36,7 +36,7 @@ namespace osu.Game.Rulesets.Osu.Edit
new SpinnerCompositionTool()
};
public override SelectionBox CreateSelectionBox() => new OsuSelectionBox();
public override SelectionHandler CreateSelectionHandler() => new OsuSelectionHandler();
protected override Container CreateLayerContainer() => new PlayfieldAdjustmentContainer { RelativeSizeAxes = Axes.Both };

View File

@ -8,7 +8,7 @@ using osu.Game.Screens.Edit.Compose.Components;
namespace osu.Game.Rulesets.Osu.Edit
{
public class OsuSelectionBox : SelectionBox
public class OsuSelectionHandler : SelectionHandler
{
public override void HandleDrag(DragEvent dragEvent)
{

View File

@ -29,7 +29,7 @@ namespace osu.Game.Tests.Visual
{
public override IReadOnlyList<Type> RequiredTypes => new[]
{
typeof(SelectionBox),
typeof(SelectionHandler),
typeof(DragBox),
typeof(HitObjectComposer),
typeof(OsuHitObjectComposer),

View File

@ -171,10 +171,9 @@ namespace osu.Game.Rulesets.Edit
public virtual SelectionBlueprint CreateBlueprintFor(DrawableHitObject hitObject) => null;
/// <summary>
/// Creates a <see cref="SelectionBox"/> which outlines <see cref="DrawableHitObject"/>s
/// and handles hitobject pattern adjustments.
/// Creates a <see cref="SelectionHandler"/> which outlines <see cref="DrawableHitObject"/>s and handles movement of selections.
/// </summary>
public virtual SelectionBox CreateSelectionBox() => new SelectionBox();
public virtual SelectionHandler CreateSelectionHandler() => new SelectionHandler();
/// <summary>
/// Creates a <see cref="ScalableContainer"/> which provides a layer above or below the <see cref="Playfield"/>.

View File

@ -22,7 +22,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
private Container<PlacementBlueprint> placementBlueprintContainer;
private PlacementBlueprint currentPlacement;
private SelectionBox selectionBox;
private SelectionHandler selectionHandler;
private IEnumerable<SelectionBlueprint> selections => selectionBlueprints.Children.Where(c => c.IsAlive);
@ -37,16 +37,16 @@ namespace osu.Game.Screens.Edit.Compose.Components
[BackgroundDependencyLoader]
private void load()
{
selectionBox = composer.CreateSelectionBox();
selectionBox.DeselectAll = deselectAll;
selectionHandler = composer.CreateSelectionHandler();
selectionHandler.DeselectAll = deselectAll;
var dragBox = new DragBox(select);
dragBox.DragEnd += () => selectionBox.UpdateVisibility();
dragBox.DragEnd += () => selectionHandler.UpdateVisibility();
InternalChildren = new[]
{
dragBox,
selectionBox,
selectionHandler,
selectionBlueprints = new SelectionBlueprintContainer { RelativeSizeAxes = Axes.Both },
placementBlueprintContainer = new Container<PlacementBlueprint> { RelativeSizeAxes = Axes.Both },
dragBox.CreateProxy()
@ -168,19 +168,19 @@ namespace osu.Game.Screens.Edit.Compose.Components
private void onBlueprintSelected(SelectionBlueprint blueprint)
{
selectionBox.HandleSelected(blueprint);
selectionHandler.HandleSelected(blueprint);
selectionBlueprints.ChangeChildDepth(blueprint, 1);
}
private void onBlueprintDeselected(SelectionBlueprint blueprint)
{
selectionBox.HandleDeselected(blueprint);
selectionHandler.HandleDeselected(blueprint);
selectionBlueprints.ChangeChildDepth(blueprint, 0);
}
private void onSelectionRequested(SelectionBlueprint blueprint, InputState state) => selectionBox.HandleSelectionRequested(blueprint, state);
private void onSelectionRequested(SelectionBlueprint blueprint, InputState state) => selectionHandler.HandleSelectionRequested(blueprint, state);
private void onDragRequested(DragEvent dragEvent) => selectionBox.HandleDrag(dragEvent);
private void onDragRequested(DragEvent dragEvent) => selectionHandler.HandleDrag(dragEvent);
private class SelectionBlueprintContainer : Container<SelectionBlueprint>
{

View File

@ -46,7 +46,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
{
Masking = true,
BorderColour = Color4.White,
BorderThickness = SelectionBox.BORDER_RADIUS,
BorderThickness = SelectionHandler.BORDER_RADIUS,
Child = new Box
{
RelativeSizeAxes = Axes.Both,

View File

@ -19,9 +19,9 @@ using OpenTK.Input;
namespace osu.Game.Screens.Edit.Compose.Components
{
/// <summary>
/// A box which surrounds <see cref="SelectionBlueprint"/>s and provides interactive handles, context menus etc.
/// A component which outlines <see cref="DrawableHitObject"/>s and handles movement of selections.
/// </summary>
public class SelectionBox : CompositeDrawable
public class SelectionHandler : CompositeDrawable
{
public const float BORDER_RADIUS = 2;
@ -35,7 +35,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
[Resolved]
private IPlacementHandler placementHandler { get; set; }
public SelectionBox()
public SelectionHandler()
{
selectedBlueprints = new List<SelectionBlueprint>();
@ -63,6 +63,10 @@ namespace osu.Game.Screens.Edit.Compose.Components
#region User Input Handling
/// <summary>
/// Handles the selected <see cref="DrawableHitObject"/>s being dragged.
/// </summary>
/// <param name="dragEvent">The drag event.</param>
public virtual void HandleDrag(DragEvent dragEvent)
{
}
@ -139,7 +143,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
#endregion
/// <summary>
/// Updates whether this <see cref="SelectionBox"/> is visible.
/// Updates whether this <see cref="SelectionHandler"/> is visible.
/// </summary>
internal void UpdateVisibility()
{