1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-26 16:12:54 +08:00

Fix catch positional data being incorrectly recorded

This commit is contained in:
Dean Herbert 2020-03-24 15:38:54 +09:00
parent 96a849f897
commit 388cf5c83a
7 changed files with 14 additions and 11 deletions

View File

@ -12,12 +12,15 @@ namespace osu.Game.Rulesets.Catch.UI
{
public class CatchReplayRecorder : ReplayRecorder<CatchAction>
{
public CatchReplayRecorder(Replay target)
private readonly CatchPlayfield playfield;
public CatchReplayRecorder(Replay target, CatchPlayfield playfield)
: base(target)
{
this.playfield = playfield;
}
protected override ReplayFrame HandleFrame(Vector2 position, List<CatchAction> actions, ReplayFrame previousFrame)
=> new CatchReplayFrame(Time.Current, position.X, actions.Contains(CatchAction.Dash), previousFrame as CatchReplayFrame);
protected override ReplayFrame HandleFrame(Vector2 mousePosition, List<CatchAction> actions, ReplayFrame previousFrame)
=> new CatchReplayFrame(Time.Current, playfield.CatcherArea.MovableCatcher.X, actions.Contains(CatchAction.Dash), previousFrame as CatchReplayFrame);
}
}

View File

@ -32,7 +32,7 @@ namespace osu.Game.Rulesets.Catch.UI
protected override ReplayInputHandler CreateReplayInputHandler(Replay replay) => new CatchFramedReplayInputHandler(replay);
protected override ReplayRecorder CreateReplayRecorder(Replay replay) => new CatchReplayRecorder(replay);
protected override ReplayRecorder CreateReplayRecorder(Replay replay) => new CatchReplayRecorder(replay, (CatchPlayfield)Playfield);
protected override Playfield CreatePlayfield() => new CatchPlayfield(Beatmap.BeatmapInfo.BaseDifficulty, CreateDrawableRepresentation);

View File

@ -17,7 +17,7 @@ namespace osu.Game.Rulesets.Mania.UI
{
}
protected override ReplayFrame HandleFrame(Vector2 position, List<ManiaAction> actions, ReplayFrame previousFrame)
protected override ReplayFrame HandleFrame(Vector2 mousePosition, List<ManiaAction> actions, ReplayFrame previousFrame)
=> new ManiaReplayFrame(Time.Current, actions.ToArray());
}
}

View File

@ -17,7 +17,7 @@ namespace osu.Game.Rulesets.Osu.UI
{
}
protected override ReplayFrame HandleFrame(Vector2 position, List<OsuAction> actions, ReplayFrame previousFrame)
=> new OsuReplayFrame(Time.Current, position, actions.ToArray());
protected override ReplayFrame HandleFrame(Vector2 mousePosition, List<OsuAction> actions, ReplayFrame previousFrame)
=> new OsuReplayFrame(Time.Current, mousePosition, actions.ToArray());
}
}

View File

@ -17,7 +17,7 @@ namespace osu.Game.Rulesets.Taiko.UI
{
}
protected override ReplayFrame HandleFrame(Vector2 position, List<TaikoAction> actions, ReplayFrame previousFrame) =>
protected override ReplayFrame HandleFrame(Vector2 mousePosition, List<TaikoAction> actions, ReplayFrame previousFrame) =>
new TaikoReplayFrame(Time.Current, actions.ToArray());
}
}

View File

@ -215,7 +215,7 @@ namespace osu.Game.Tests.Gameplay
{
}
protected override ReplayFrame HandleFrame(Vector2 position, List<TestAction> actions, ReplayFrame previousFrame) =>
new TestReplayFrame(Time.Current, position, actions.ToArray());
protected override ReplayFrame HandleFrame(Vector2 mousePosition, List<TestAction> actions, ReplayFrame previousFrame) =>
new TestReplayFrame(Time.Current, mousePosition, actions.ToArray());
}
}

View File

@ -75,7 +75,7 @@ namespace osu.Game.Rulesets.UI
target.Frames.Add(frame);
}
protected abstract ReplayFrame HandleFrame(Vector2 position, List<T> actions, ReplayFrame previousFrame);
protected abstract ReplayFrame HandleFrame(Vector2 mousePosition, List<T> actions, ReplayFrame previousFrame);
}
public abstract class ReplayRecorder : Component