mirror of
https://github.com/ppy/osu.git
synced 2025-03-28 10:17:19 +08:00
"overlay" -> "mask"
This commit is contained in:
parent
6d4f94756e
commit
04874bcda4
@ -17,7 +17,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
|
|||||||
{
|
{
|
||||||
private readonly Playfield playfield;
|
private readonly Playfield playfield;
|
||||||
private readonly HitObjectComposer composer;
|
private readonly HitObjectComposer composer;
|
||||||
private readonly Container<HitObjectMask> overlayContainer;
|
private readonly Container<HitObjectMask> maskContainer;
|
||||||
|
|
||||||
private readonly SelectionBox selectionBox;
|
private readonly SelectionBox selectionBox;
|
||||||
|
|
||||||
@ -30,16 +30,16 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
|
|||||||
|
|
||||||
RelativeSizeAxes = Axes.Both;
|
RelativeSizeAxes = Axes.Both;
|
||||||
|
|
||||||
overlayContainer = new Container<HitObjectMask>();
|
maskContainer = new Container<HitObjectMask>();
|
||||||
selectionBox = composer.CreateSelectionBox();
|
selectionBox = composer.CreateSelectionBox();
|
||||||
|
|
||||||
var dragBox = new DragBox(overlayContainer);
|
var dragBox = new DragBox(maskContainer);
|
||||||
dragBox.DragEnd += () => selectionBox.FinishSelection();
|
dragBox.DragEnd += () => selectionBox.FinishSelection();
|
||||||
|
|
||||||
InternalChildren = new Drawable[]
|
InternalChildren = new Drawable[]
|
||||||
{
|
{
|
||||||
dragBox,
|
dragBox,
|
||||||
overlayContainer,
|
maskContainer,
|
||||||
selectionBox,
|
selectionBox,
|
||||||
dragBox.CreateProxy()
|
dragBox.CreateProxy()
|
||||||
};
|
};
|
||||||
@ -49,43 +49,43 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
|
|||||||
private void load()
|
private void load()
|
||||||
{
|
{
|
||||||
foreach (var obj in playfield.HitObjects.Objects)
|
foreach (var obj in playfield.HitObjects.Objects)
|
||||||
addOverlay(obj);
|
addMask(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Adds an overlay for a <see cref="DrawableHitObject"/> which adds movement support.
|
/// Adds a mask for a <see cref="DrawableHitObject"/> which adds movement support.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="hitObject">The <see cref="DrawableHitObject"/> to create an overlay for.</param>
|
/// <param name="hitObject">The <see cref="DrawableHitObject"/> to create a mask for.</param>
|
||||||
private void addOverlay(DrawableHitObject hitObject)
|
private void addMask(DrawableHitObject hitObject)
|
||||||
{
|
{
|
||||||
var overlay = composer.CreateMaskFor(hitObject);
|
var mask = composer.CreateMaskFor(hitObject);
|
||||||
if (overlay == null)
|
if (mask == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
overlay.Selected += onSelected;
|
mask.Selected += onSelected;
|
||||||
overlay.Deselected += onDeselected;
|
mask.Deselected += onDeselected;
|
||||||
overlay.SingleSelectionRequested += onSingleSelectionRequested;
|
mask.SingleSelectionRequested += onSingleSelectionRequested;
|
||||||
|
|
||||||
overlayContainer.Add(overlay);
|
maskContainer.Add(mask);
|
||||||
selectionBox.AddMask(overlay);
|
selectionBox.AddMask(mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Removes the overlay for a <see cref="DrawableHitObject"/>.
|
/// Removes the mask for a <see cref="DrawableHitObject"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="hitObject">The <see cref="DrawableHitObject"/> to remove the overlay for.</param>
|
/// <param name="hitObject">The <see cref="DrawableHitObject"/> to remove the mask for.</param>
|
||||||
private void removeOverlay(DrawableHitObject hitObject)
|
private void removeMask(DrawableHitObject hitObject)
|
||||||
{
|
{
|
||||||
var existing = overlayContainer.FirstOrDefault(h => h.HitObject == hitObject);
|
var mask = maskContainer.FirstOrDefault(h => h.HitObject == hitObject);
|
||||||
if (existing == null)
|
if (mask == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
existing.Selected -= onSelected;
|
mask.Selected -= onSelected;
|
||||||
existing.Deselected -= onDeselected;
|
mask.Deselected -= onDeselected;
|
||||||
existing.SingleSelectionRequested -= onSingleSelectionRequested;
|
mask.SingleSelectionRequested -= onSingleSelectionRequested;
|
||||||
|
|
||||||
overlayContainer.Remove(existing);
|
maskContainer.Remove(mask);
|
||||||
selectionBox.RemoveMask(existing);
|
selectionBox.RemoveMask(mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onSelected(HitObjectMask mask) => selectedObjects.Add(mask);
|
private void onSelected(HitObjectMask mask) => selectedObjects.Add(mask);
|
||||||
@ -103,6 +103,6 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Deselects all selected <see cref="DrawableHitObject"/>s.
|
/// Deselects all selected <see cref="DrawableHitObject"/>s.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void DeselectAll() => overlayContainer.ToList().ForEach(m => m.Deselect());
|
public void DeselectAll() => maskContainer.ToList().ForEach(m => m.Deselect());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user