mirror of
https://github.com/osukey/osukey.git
synced 2025-07-03 01:09:57 +09:00
Merge branch 'master' into editor-fix-button-states-after-paste
This commit is contained in:
@ -101,6 +101,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
||||
OnRotation = angle => HandleRotation(angle),
|
||||
OnScale = (amount, anchor) => HandleScale(amount, anchor),
|
||||
OnFlip = direction => HandleFlip(direction),
|
||||
OnReverse = () => HandleReverse(),
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -139,7 +140,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
||||
/// Handles the selected <see cref="DrawableHitObject"/>s being rotated.
|
||||
/// </summary>
|
||||
/// <param name="angle">The delta angle to apply to the selection.</param>
|
||||
/// <returns>Whether any <see cref="DrawableHitObject"/>s could be moved.</returns>
|
||||
/// <returns>Whether any <see cref="DrawableHitObject"/>s could be rotated.</returns>
|
||||
public virtual bool HandleRotation(float angle) => false;
|
||||
|
||||
/// <summary>
|
||||
@ -147,16 +148,22 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
||||
/// </summary>
|
||||
/// <param name="scale">The delta scale to apply, in playfield local coordinates.</param>
|
||||
/// <param name="anchor">The point of reference where the scale is originating from.</param>
|
||||
/// <returns>Whether any <see cref="DrawableHitObject"/>s could be moved.</returns>
|
||||
/// <returns>Whether any <see cref="DrawableHitObject"/>s could be scaled.</returns>
|
||||
public virtual bool HandleScale(Vector2 scale, Anchor anchor) => false;
|
||||
|
||||
/// <summary>
|
||||
/// Handled the selected <see cref="DrawableHitObject"/>s being flipped.
|
||||
/// Handles the selected <see cref="DrawableHitObject"/>s being flipped.
|
||||
/// </summary>
|
||||
/// <param name="direction">The direction to flip</param>
|
||||
/// <returns>Whether any <see cref="DrawableHitObject"/>s could be moved.</returns>
|
||||
/// <returns>Whether any <see cref="DrawableHitObject"/>s could be flipped.</returns>
|
||||
public virtual bool HandleFlip(Direction direction) => false;
|
||||
|
||||
/// <summary>
|
||||
/// Handles the selected <see cref="DrawableHitObject"/>s being reversed pattern-wise.
|
||||
/// </summary>
|
||||
/// <returns>Whether any <see cref="DrawableHitObject"/>s could be reversed.</returns>
|
||||
public virtual bool HandleReverse() => false;
|
||||
|
||||
public bool OnPressed(PlatformAction action)
|
||||
{
|
||||
switch (action.ActionMethod)
|
||||
@ -236,9 +243,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
||||
|
||||
private void deleteSelected()
|
||||
{
|
||||
ChangeHandler?.BeginChange();
|
||||
EditorBeatmap?.RemoveRange(selectedBlueprints.Select(b => b.HitObject));
|
||||
ChangeHandler?.EndChange();
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -305,7 +310,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
||||
/// <param name="sampleName">The name of the hit sample.</param>
|
||||
public void AddHitSample(string sampleName)
|
||||
{
|
||||
ChangeHandler?.BeginChange();
|
||||
EditorBeatmap?.BeginChange();
|
||||
|
||||
foreach (var h in EditorBeatmap.SelectedHitObjects)
|
||||
{
|
||||
@ -316,7 +321,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
||||
h.Samples.Add(new HitSampleInfo { Name = sampleName });
|
||||
}
|
||||
|
||||
ChangeHandler?.EndChange();
|
||||
EditorBeatmap?.EndChange();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -326,7 +331,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
||||
/// <exception cref="InvalidOperationException">Throws if any selected object doesn't implement <see cref="IHasComboInformation"/></exception>
|
||||
public void SetNewCombo(bool state)
|
||||
{
|
||||
ChangeHandler?.BeginChange();
|
||||
EditorBeatmap?.BeginChange();
|
||||
|
||||
foreach (var h in EditorBeatmap.SelectedHitObjects)
|
||||
{
|
||||
@ -335,10 +340,10 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
||||
if (comboInfo == null || comboInfo.NewCombo == state) continue;
|
||||
|
||||
comboInfo.NewCombo = state;
|
||||
EditorBeatmap?.UpdateHitObject(h);
|
||||
EditorBeatmap?.Update(h);
|
||||
}
|
||||
|
||||
ChangeHandler?.EndChange();
|
||||
EditorBeatmap?.EndChange();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -347,12 +352,12 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
||||
/// <param name="sampleName">The name of the hit sample.</param>
|
||||
public void RemoveHitSample(string sampleName)
|
||||
{
|
||||
ChangeHandler?.BeginChange();
|
||||
EditorBeatmap?.BeginChange();
|
||||
|
||||
foreach (var h in EditorBeatmap.SelectedHitObjects)
|
||||
h.SamplesBindable.RemoveAll(s => s.Name == sampleName);
|
||||
|
||||
ChangeHandler?.EndChange();
|
||||
EditorBeatmap?.EndChange();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
Reference in New Issue
Block a user