From b7721edc80d1620b49be12956bfcc767aaf61403 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Thu, 19 Jul 2018 17:04:51 +0900 Subject: [PATCH] Remove more unnecessary changes --- .../Layers/Selection/Overlays/HoldNoteMask.cs | 4 --- .../Layers/Selection/Overlays/NoteMask.cs | 2 -- .../Edit/ManiaEditPlayfield.cs | 5 --- .../Edit/ManiaEditRulesetContainer.cs | 3 -- .../Edit/ManiaEditStage.cs | 16 --------- .../Objects/ManiaHitObject.cs | 34 ++----------------- .../Objects/Types/IHasColumn.cs | 2 +- osu.Game.Rulesets.Mania/UI/ManiaPlayfield.cs | 27 ++------------- osu.Game.Rulesets.Mania/UI/ManiaStage.cs | 4 +-- osu.Game/Rulesets/Edit/HitObjectComposer.cs | 31 +++++++---------- osu.Game/Rulesets/Edit/HitObjectMask.cs | 22 +----------- .../Edit/Tools/HitObjectCompositionTool.cs | 11 ++---- .../Rulesets/Edit/Types/IHasEditableColumn.cs | 12 ------- .../Compose/Layers/HitObjectMaskLayer.cs | 2 -- .../Screens/Compose/Layers/MaskContainer.cs | 16 --------- .../Screens/Compose/Layers/MaskSelection.cs | 10 ------ 16 files changed, 22 insertions(+), 179 deletions(-) delete mode 100644 osu.Game.Rulesets.Mania/Edit/ManiaEditStage.cs rename {osu.Game/Rulesets => osu.Game.Rulesets.Mania}/Objects/Types/IHasColumn.cs (90%) delete mode 100644 osu.Game/Rulesets/Edit/Types/IHasEditableColumn.cs diff --git a/osu.Game.Rulesets.Mania/Edit/Layers/Selection/Overlays/HoldNoteMask.cs b/osu.Game.Rulesets.Mania/Edit/Layers/Selection/Overlays/HoldNoteMask.cs index 648ec29e64..d0faea564c 100644 --- a/osu.Game.Rulesets.Mania/Edit/Layers/Selection/Overlays/HoldNoteMask.cs +++ b/osu.Game.Rulesets.Mania/Edit/Layers/Selection/Overlays/HoldNoteMask.cs @@ -18,8 +18,6 @@ namespace osu.Game.Rulesets.Mania.Edit.Layers.Selection.Overlays public HoldNoteMask(DrawableHoldNote hold) : base(hold) { - var holdObject = hold.HitObject; - InternalChildren = new Drawable[] { new HoldNoteNoteMask(hold.Head), @@ -29,8 +27,6 @@ namespace osu.Game.Rulesets.Mania.Edit.Layers.Selection.Overlays AccentColour = Color4.Transparent }, }; - - holdObject.ColumnChanged += _ => Position = hold.Position; } [BackgroundDependencyLoader] diff --git a/osu.Game.Rulesets.Mania/Edit/Layers/Selection/Overlays/NoteMask.cs b/osu.Game.Rulesets.Mania/Edit/Layers/Selection/Overlays/NoteMask.cs index 8c46e20835..78f876cb14 100644 --- a/osu.Game.Rulesets.Mania/Edit/Layers/Selection/Overlays/NoteMask.cs +++ b/osu.Game.Rulesets.Mania/Edit/Layers/Selection/Overlays/NoteMask.cs @@ -20,8 +20,6 @@ namespace osu.Game.Rulesets.Mania.Edit.Layers.Selection.Overlays Masking = true; AddInternal(new NotePiece()); - - note.HitObject.ColumnChanged += _ => Position = note.Position; } [BackgroundDependencyLoader] diff --git a/osu.Game.Rulesets.Mania/Edit/ManiaEditPlayfield.cs b/osu.Game.Rulesets.Mania/Edit/ManiaEditPlayfield.cs index 30ff591359..e7bc526471 100644 --- a/osu.Game.Rulesets.Mania/Edit/ManiaEditPlayfield.cs +++ b/osu.Game.Rulesets.Mania/Edit/ManiaEditPlayfield.cs @@ -9,14 +9,9 @@ namespace osu.Game.Rulesets.Mania.Edit { public class ManiaEditPlayfield : ManiaPlayfield { - protected override bool DisplayJudgements => false; - public ManiaEditPlayfield(List stages) : base(stages) { } - - protected override ManiaStage CreateStage(int firstColumnIndex, StageDefinition definition, ref ManiaAction normalColumnStartAction, ref ManiaAction specialColumnStartAction) - => new ManiaEditStage(firstColumnIndex, definition, ref normalColumnStartAction, ref specialColumnStartAction); } } diff --git a/osu.Game.Rulesets.Mania/Edit/ManiaEditRulesetContainer.cs b/osu.Game.Rulesets.Mania/Edit/ManiaEditRulesetContainer.cs index fa33f41de3..a01947a60b 100644 --- a/osu.Game.Rulesets.Mania/Edit/ManiaEditRulesetContainer.cs +++ b/osu.Game.Rulesets.Mania/Edit/ManiaEditRulesetContainer.cs @@ -3,7 +3,6 @@ using osu.Framework.Graphics; using OpenTK; -using osu.Framework.Graphics.Cursor; using osu.Game.Beatmaps; using osu.Game.Rulesets.Mania.UI; using osu.Game.Rulesets.UI; @@ -24,7 +23,5 @@ namespace osu.Game.Rulesets.Mania.Edit }; protected override Vector2 PlayfieldArea => Vector2.One; - - protected override CursorContainer CreateCursor() => null; } } diff --git a/osu.Game.Rulesets.Mania/Edit/ManiaEditStage.cs b/osu.Game.Rulesets.Mania/Edit/ManiaEditStage.cs deleted file mode 100644 index 9068725023..0000000000 --- a/osu.Game.Rulesets.Mania/Edit/ManiaEditStage.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) 2007-2018 ppy Pty Ltd . -// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE - -using osu.Game.Rulesets.Mania.Beatmaps; -using osu.Game.Rulesets.Mania.UI; - -namespace osu.Game.Rulesets.Mania.Edit -{ - public class ManiaEditStage : ManiaStage - { - public ManiaEditStage(int firstColumnIndex, StageDefinition definition, ref ManiaAction normalColumnStartAction, ref ManiaAction specialColumnStartAction) - : base(firstColumnIndex, definition, ref normalColumnStartAction, ref specialColumnStartAction) - { - } - } -} diff --git a/osu.Game.Rulesets.Mania/Objects/ManiaHitObject.cs b/osu.Game.Rulesets.Mania/Objects/ManiaHitObject.cs index 4d28c39faa..e183098a51 100644 --- a/osu.Game.Rulesets.Mania/Objects/ManiaHitObject.cs +++ b/osu.Game.Rulesets.Mania/Objects/ManiaHitObject.cs @@ -1,42 +1,14 @@ // Copyright (c) 2007-2018 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Game.Rulesets.Edit.Types; +using osu.Game.Rulesets.Mania.Objects.Types; using osu.Game.Rulesets.Objects; -using osu.Game.Rulesets.Objects.Types; -using System; namespace osu.Game.Rulesets.Mania.Objects { - public abstract class ManiaHitObject : HitObject, IHasXPosition, IHasEditableColumn + public abstract class ManiaHitObject : HitObject, IHasColumn { - public event Action ColumnChanged; - - private int column { get; set; } - - public virtual int Column - { - get => column; - set - { - if (column == value) - return; - column = value; - - ColumnChanged?.Invoke(value); - } - } - - public virtual int Layer { get; set; } - - public virtual float X - { - get => Column; - } - - public virtual void OffsetColumn(int offset) => Column += offset; - - public virtual void OffsetLayer(int offset) => Layer += offset; + public virtual int Column { get; set; } protected override HitWindows CreateHitWindows() => new ManiaHitWindows(); } diff --git a/osu.Game/Rulesets/Objects/Types/IHasColumn.cs b/osu.Game.Rulesets.Mania/Objects/Types/IHasColumn.cs similarity index 90% rename from osu.Game/Rulesets/Objects/Types/IHasColumn.cs rename to osu.Game.Rulesets.Mania/Objects/Types/IHasColumn.cs index ba9c7ac933..44a79de7db 100644 --- a/osu.Game/Rulesets/Objects/Types/IHasColumn.cs +++ b/osu.Game.Rulesets.Mania/Objects/Types/IHasColumn.cs @@ -1,7 +1,7 @@ // Copyright (c) 2007-2018 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -namespace osu.Game.Rulesets.Objects.Types +namespace osu.Game.Rulesets.Mania.Objects.Types { /// /// A type of hit object which lies in one of a number of predetermined columns. diff --git a/osu.Game.Rulesets.Mania/UI/ManiaPlayfield.cs b/osu.Game.Rulesets.Mania/UI/ManiaPlayfield.cs index b3d11307a7..57a00f3820 100644 --- a/osu.Game.Rulesets.Mania/UI/ManiaPlayfield.cs +++ b/osu.Game.Rulesets.Mania/UI/ManiaPlayfield.cs @@ -4,25 +4,18 @@ using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; -using osu.Game.Rulesets.Judgements; using osu.Game.Rulesets.Mania.Beatmaps; using osu.Game.Rulesets.Mania.Configuration; using osu.Game.Rulesets.Mania.Objects; using osu.Game.Rulesets.Objects.Drawables; using System; using System.Collections.Generic; -using System.Linq; namespace osu.Game.Rulesets.Mania.UI { public class ManiaPlayfield : ManiaScrollingPlayfield { - public List Columns => stages.SelectMany(x => x.Columns).ToList(); - private readonly List stages = new List(); - public IReadOnlyList Stages => stages; - - protected virtual bool DisplayJudgements => true; public ManiaPlayfield(List stageDefinitions) { @@ -44,8 +37,7 @@ namespace osu.Game.Rulesets.Mania.UI int firstColumnIndex = 0; for (int i = 0; i < stageDefinitions.Count; i++) { - var newStage = CreateStage(firstColumnIndex, stageDefinitions[i], ref normalColumnAction, ref specialColumnAction); - newStage.DisplayJudgements = DisplayJudgements; + var newStage = new ManiaStage(firstColumnIndex, stageDefinitions[i], ref normalColumnAction, ref specialColumnAction); newStage.VisibleTimeRange.BindTo(VisibleTimeRange); playfieldGrid.Content[0][i] = newStage; @@ -57,11 +49,7 @@ namespace osu.Game.Rulesets.Mania.UI } } - public override void Add(DrawableHitObject h) - { - h.OnJudgement += OnJudgement; - getStageByColumn(((ManiaHitObject)h.HitObject).Column).Add(h); - } + public override void Add(DrawableHitObject h) => getStageByColumn(((ManiaHitObject)h.HitObject).Column).Add(h); public void Add(BarLine barline) => stages.ForEach(s => s.Add(barline)); @@ -83,16 +71,5 @@ namespace osu.Game.Rulesets.Mania.UI { maniaConfig.BindWith(ManiaSetting.ScrollTime, VisibleTimeRange); } - - internal void OnJudgement(DrawableHitObject judgedObject, Judgement judgement) - { - if (!judgedObject.DisplayJudgement || !DisplayJudgements) - return; - - getStageByColumn(((ManiaHitObject)judgedObject.HitObject).Column).OnJudgement(judgedObject, judgement); - } - - protected virtual ManiaStage CreateStage(int firstColumnIndex, StageDefinition definition, ref ManiaAction normalColumnStartAction, ref ManiaAction specialColumnStartAction) - => new ManiaStage(firstColumnIndex, definition, ref normalColumnStartAction, ref specialColumnStartAction); } } diff --git a/osu.Game.Rulesets.Mania/UI/ManiaStage.cs b/osu.Game.Rulesets.Mania/UI/ManiaStage.cs index 867eb1214b..b22217b73a 100644 --- a/osu.Game.Rulesets.Mania/UI/ManiaStage.cs +++ b/osu.Game.Rulesets.Mania/UI/ManiaStage.cs @@ -23,12 +23,10 @@ namespace osu.Game.Rulesets.Mania.UI /// /// A collection of s. /// - public class ManiaStage : ScrollingPlayfield + public class ManiaStage : ManiaScrollingPlayfield { public const float HIT_TARGET_POSITION = 50; - - public bool DisplayJudgements = true; public IReadOnlyList Columns => columnFlow.Children; private readonly FillFlowContainer columnFlow; diff --git a/osu.Game/Rulesets/Edit/HitObjectComposer.cs b/osu.Game/Rulesets/Edit/HitObjectComposer.cs index 2301620116..a36f703fe6 100644 --- a/osu.Game/Rulesets/Edit/HitObjectComposer.cs +++ b/osu.Game/Rulesets/Edit/HitObjectComposer.cs @@ -24,17 +24,16 @@ namespace osu.Game.Rulesets.Edit { private readonly Ruleset ruleset; - protected ICompositionTool CurrentTool { get; private set; } + public IEnumerable HitObjects => rulesetContainer.Playfield.AllHitObjects; + protected ICompositionTool CurrentTool { get; private set; } protected IRulesetConfigManager Config { get; private set; } - protected RulesetContainer RulesetContainer; private readonly List layerContainers = new List(); - - public IEnumerable HitObjects => RulesetContainer.Playfield.AllHitObjects; - private readonly IBindable beatmap = new Bindable(); + private RulesetContainer rulesetContainer; + protected HitObjectComposer(Ruleset ruleset) { this.ruleset = ruleset; @@ -49,8 +48,8 @@ namespace osu.Game.Rulesets.Edit try { - RulesetContainer = CreateRulesetContainer(ruleset, beatmap.Value); - RulesetContainer.Clock = framedClock; + rulesetContainer = CreateRulesetContainer(ruleset, beatmap.Value); + rulesetContainer.Clock = framedClock; } catch (Exception e) { @@ -65,7 +64,7 @@ namespace osu.Game.Rulesets.Edit }; var layerAboveRuleset = CreateLayerContainer(); - layerAboveRuleset.Child = CreateHitObjectMaskLayer(); + layerAboveRuleset.Child = new HitObjectMaskLayer(); layerContainers.Add(layerBelowRuleset); layerContainers.Add(layerAboveRuleset); @@ -95,7 +94,7 @@ namespace osu.Game.Rulesets.Edit Children = new Drawable[] { layerBelowRuleset, - RulesetContainer, + rulesetContainer, layerAboveRuleset } } @@ -131,14 +130,13 @@ namespace osu.Game.Rulesets.Edit layerContainers.ForEach(l => { - l.Anchor = RulesetContainer.Playfield.Anchor; - l.Origin = RulesetContainer.Playfield.Origin; - l.Position = RulesetContainer.Playfield.Position; - l.Size = RulesetContainer.Playfield.Size; + l.Anchor = rulesetContainer.Playfield.Anchor; + l.Origin = rulesetContainer.Playfield.Origin; + l.Position = rulesetContainer.Playfield.Position; + l.Size = rulesetContainer.Playfield.Size; }); } - private void setCompositionTool(ICompositionTool tool) => CurrentTool = tool; protected virtual RulesetContainer CreateRulesetContainer(Ruleset ruleset, WorkingBeatmap beatmap) => ruleset.CreateRulesetContainerWith(beatmap); @@ -157,11 +155,6 @@ namespace osu.Game.Rulesets.Edit /// public virtual MaskSelection CreateMaskSelection() => new MaskSelection(); - /// - /// Creates a depending on the ruleset. - /// - protected virtual HitObjectMaskLayer CreateHitObjectMaskLayer() => new HitObjectMaskLayer(); - /// /// Creates a which provides a layer above or below the . /// diff --git a/osu.Game/Rulesets/Edit/HitObjectMask.cs b/osu.Game/Rulesets/Edit/HitObjectMask.cs index 3caa4d9fbf..61fb700dd3 100644 --- a/osu.Game/Rulesets/Edit/HitObjectMask.cs +++ b/osu.Game/Rulesets/Edit/HitObjectMask.cs @@ -33,21 +33,11 @@ namespace osu.Game.Rulesets.Edit /// public event Action SelectionRequested; - /// - /// Invoked when this has started drag. - /// - public event Action DragStarted; - /// /// Invoked when this has requested drag. /// public event Action DragRequested; - /// - /// Invoked when this has ended drag. - /// - public event Action DragEnded; - /// /// The which this applies to. /// @@ -130,11 +120,7 @@ namespace osu.Game.Rulesets.Edit return base.OnClick(state); } - protected override bool OnDragStart(InputState state) - { - DragStarted?.Invoke(this, state); - return true; - } + protected override bool OnDragStart(InputState state) => true; protected override bool OnDrag(InputState state) { @@ -142,12 +128,6 @@ namespace osu.Game.Rulesets.Edit return true; } - protected override bool OnDragEnd(InputState state) - { - DragEnded?.Invoke(this, state); - return true; - } - /// /// The screen-space point that causes this to be selected. /// diff --git a/osu.Game/Rulesets/Edit/Tools/HitObjectCompositionTool.cs b/osu.Game/Rulesets/Edit/Tools/HitObjectCompositionTool.cs index 91062a211e..78ad236e74 100644 --- a/osu.Game/Rulesets/Edit/Tools/HitObjectCompositionTool.cs +++ b/osu.Game/Rulesets/Edit/Tools/HitObjectCompositionTool.cs @@ -1,8 +1,6 @@ // Copyright (c) 2007-2018 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; -using osu.Framework.Input; using osu.Game.Rulesets.Objects; namespace osu.Game.Rulesets.Edit.Tools @@ -10,15 +8,10 @@ namespace osu.Game.Rulesets.Edit.Tools public class HitObjectCompositionTool : ICompositionTool where T : HitObject { - public string Name { get; } = typeof(T).Name; - - public Func OnMouseDown; - public Func OnMouseUp; - public Func OnDragStart; - public Func OnDragRequested; - public Func OnDragEnd; + public string Name { get; } public HitObjectCompositionTool() + : this(typeof(T).Name) { } diff --git a/osu.Game/Rulesets/Edit/Types/IHasEditableColumn.cs b/osu.Game/Rulesets/Edit/Types/IHasEditableColumn.cs deleted file mode 100644 index 2691223476..0000000000 --- a/osu.Game/Rulesets/Edit/Types/IHasEditableColumn.cs +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) 2007-2018 ppy Pty Ltd . -// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE - -using osu.Game.Rulesets.Objects.Types; - -namespace osu.Game.Rulesets.Edit.Types -{ - public interface IHasEditableColumn : IHasColumn - { - void OffsetColumn(int offset); - } -} diff --git a/osu.Game/Screens/Edit/Screens/Compose/Layers/HitObjectMaskLayer.cs b/osu.Game/Screens/Edit/Screens/Compose/Layers/HitObjectMaskLayer.cs index db4ea05e59..41987a6bf9 100644 --- a/osu.Game/Screens/Edit/Screens/Compose/Layers/HitObjectMaskLayer.cs +++ b/osu.Game/Screens/Edit/Screens/Compose/Layers/HitObjectMaskLayer.cs @@ -32,9 +32,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers maskContainer.MaskSelected += maskSelection.HandleSelected; maskContainer.MaskDeselected += maskSelection.HandleDeselected; maskContainer.MaskSelectionRequested += maskSelection.HandleSelectionRequested; - maskContainer.MaskDragStarted += maskSelection.HandleDragStart; maskContainer.MaskDragRequested += maskSelection.HandleDrag; - maskContainer.MaskDragEnded += maskSelection.HandleDragEnd; maskSelection.DeselectAll = maskContainer.DeselectAll; diff --git a/osu.Game/Screens/Edit/Screens/Compose/Layers/MaskContainer.cs b/osu.Game/Screens/Edit/Screens/Compose/Layers/MaskContainer.cs index bce6d876be..df2691c28e 100644 --- a/osu.Game/Screens/Edit/Screens/Compose/Layers/MaskContainer.cs +++ b/osu.Game/Screens/Edit/Screens/Compose/Layers/MaskContainer.cs @@ -29,21 +29,11 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers /// public event Action MaskSelectionRequested; - /// - /// Invoked when any starts drag. - /// - public event Action MaskDragStarted; - /// /// Invoked when any requests drag. /// public event Action MaskDragRequested; - /// - /// Invoked when any ends drag. - /// - public event Action MaskDragEnded; - private IEnumerable aliveMasks => AliveInternalChildren.Cast(); public MaskContainer() @@ -60,9 +50,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers drawable.Selected += onMaskSelected; drawable.Deselected += onMaskDeselected; drawable.SelectionRequested += onSelectionRequested; - drawable.DragStarted += onDragStarted; drawable.DragRequested += onDragRequested; - drawable.DragEnded += onDragEnded; } public override bool Remove(HitObjectMask drawable) @@ -76,9 +64,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers drawable.Selected -= onMaskSelected; drawable.Deselected -= onMaskDeselected; drawable.SelectionRequested -= onSelectionRequested; - drawable.DragStarted -= onDragStarted; drawable.DragRequested -= onDragRequested; - drawable.DragEnded -= onDragEnded; } return result; @@ -117,9 +103,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers } private void onSelectionRequested(HitObjectMask mask, InputState state) => MaskSelectionRequested?.Invoke(mask, state); - private void onDragStarted(HitObjectMask mask, InputState state) => MaskDragStarted?.Invoke(mask, state); private void onDragRequested(HitObjectMask mask, InputState state) => MaskDragRequested?.Invoke(mask, state); - private void onDragEnded(HitObjectMask mask, InputState state) => MaskDragEnded?.Invoke(mask, state); protected override int Compare(Drawable x, Drawable y) { diff --git a/osu.Game/Screens/Edit/Screens/Compose/Layers/MaskSelection.cs b/osu.Game/Screens/Edit/Screens/Compose/Layers/MaskSelection.cs index 7cd77eeb1c..54697bad77 100644 --- a/osu.Game/Screens/Edit/Screens/Compose/Layers/MaskSelection.cs +++ b/osu.Game/Screens/Edit/Screens/Compose/Layers/MaskSelection.cs @@ -25,7 +25,6 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers private readonly List selectedMasks; private Drawable outline; - private Vector2 startingPosition; public MaskSelection() { @@ -55,7 +54,6 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers #region User Input Handling - public void HandleDragStart(HitObjectMask m, InputState state) => startingPosition = state.Mouse.Position; public void HandleDrag(HitObjectMask m, InputState state) { // Todo: Various forms of snapping @@ -67,17 +65,9 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Layers case IHasEditablePosition editablePosition: editablePosition.OffsetPosition(state.Mouse.Delta); break; - case IHasEditableColumn editableColumn: - if (IsDragged) - editableColumn.OffsetColumn((int)((startingPosition.X - state.Mouse.Position.X) / m.Width)); // Perform snapping, needs fixing - break; } } } - public void HandleDragEnd(HitObjectMask m, InputState state) - { - - } #endregion