Skip to content

Commit

Permalink
Move out of playfield so touch overlay is not affected by playfield p…
Browse files Browse the repository at this point in the history
…osition
  • Loading branch information
peppy committed May 14, 2024
1 parent 038d122 commit 7018383
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 17 deletions.
12 changes: 11 additions & 1 deletion osu.Game.Rulesets.Mania/UI/DrawableManiaRuleset.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@

namespace osu.Game.Rulesets.Mania.UI
{
[Cached]
public partial class DrawableManiaRuleset : DrawableScrollingRuleset<ManiaHitObject>
{
/// <summary>
Expand All @@ -43,7 +44,7 @@ public partial class DrawableManiaRuleset : DrawableScrollingRuleset<ManiaHitObj
/// </summary>
public const double MAX_TIME_RANGE = 11485;

protected new ManiaPlayfield Playfield => (ManiaPlayfield)base.Playfield;
public new ManiaPlayfield Playfield => (ManiaPlayfield)base.Playfield;

public new ManiaBeatmap Beatmap => (ManiaBeatmap)base.Beatmap;

Expand Down Expand Up @@ -103,6 +104,11 @@ private void load(ISkinSource source)
configScrollSpeed.BindValueChanged(speed => this.TransformTo(nameof(smoothTimeRange), ComputeScrollTime(speed.NewValue), 200, Easing.OutQuint));

TimeRange.Value = smoothTimeRange = ComputeScrollTime(configScrollSpeed.Value);

KeyBindingInputManager.Add(touchOverlay = new ManiaTouchInputOverlay
{
RelativeSizeAxes = Axes.Both
});
}

protected override void AdjustScrollSpeed(int amount) => configScrollSpeed.Value += amount;
Expand All @@ -111,11 +117,15 @@ protected override void Update()
{
base.Update();
updateTimeRange();

// touchOverlay.Alpha = Mods?.Any(m => m is ModTouchDevice) == true ? 1 : 0;
}

private ScheduledDelegate? pendingSkinChange;
private float hitPosition;

private ManiaTouchInputOverlay touchOverlay = null!;

private void onSkinChange()
{
// schedule required to avoid calls after disposed.
Expand Down
14 changes: 0 additions & 14 deletions osu.Game.Rulesets.Mania/UI/ManiaPlayfield.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
using osu.Framework.Graphics.Primitives;
using osu.Game.Rulesets.Mania.Beatmaps;
using osu.Game.Rulesets.Mania.Objects;
using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.UI.Scrolling;
Expand All @@ -27,8 +26,6 @@ public partial class ManiaPlayfield : ScrollingPlayfield

private readonly List<Stage> stages = new List<Stage>();

private readonly ManiaTouchInputOverlay touchOverlay;

public override Quad SkinnableComponentScreenSpaceDrawQuad
{
get
Expand Down Expand Up @@ -77,10 +74,6 @@ public ManiaPlayfield(List<StageDefinition> stageDefinitions)
Content = new[] { new Drawable[stageDefinitions.Count] },
ColumnDimensions = Enumerable.Range(0, stageDefinitions.Count).Select(_ => new Dimension(GridSizeMode.AutoSize)).ToArray()
},
touchOverlay = new ManiaTouchInputOverlay
{
RelativeSizeAxes = Axes.Both
}
});

var normalColumnAction = ManiaAction.Key1;
Expand All @@ -100,13 +93,6 @@ public ManiaPlayfield(List<StageDefinition> stageDefinitions)
}
}

protected override void LoadComplete()
{
base.LoadComplete();

touchOverlay.Alpha = Mods?.Any(m => m is ModTouchDevice) == true ? 1 : 0;
}

public override void Add(HitObject hitObject) => getStageByColumn(((ManiaHitObject)hitObject).Column).Add(hitObject);

public override bool Remove(HitObject hitObject) => getStageByColumn(((ManiaHitObject)hitObject).Column).Remove(hitObject);
Expand Down
5 changes: 3 additions & 2 deletions osu.Game.Rulesets.Mania/UI/ManiaTouchInputOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,13 @@ public partial class ManiaTouchInputOverlay : CompositeDrawable, ISerialisableDr
};

[Resolved]
private ManiaPlayfield playfield { get; set; } = null!;
private DrawableManiaRuleset drawableRuleset { get; set; } = null!;

public ManiaTouchInputOverlay()
{
Anchor = Anchor.BottomCentre;
Origin = Anchor.BottomCentre;

RelativeSizeAxes = Axes.Both;
Height = 0.5f;
}
Expand All @@ -51,7 +52,7 @@ private void load()

bool first = true;

foreach (var stage in playfield.Stages)
foreach (var stage in drawableRuleset.Playfield.Stages)
{
foreach (var column in stage.Columns)
{
Expand Down

0 comments on commit 7018383

Please sign in to comment.