mirror of
https://github.com/ppy/osu.git
synced 2025-03-11 16:57:21 +08:00
Instantiate HitRenderer with WorkingBeatmap.
This commit is contained in:
parent
b47c9e808e
commit
64aab090d5
@ -8,6 +8,8 @@ using osu.Framework.MathUtils;
|
|||||||
using osu.Framework.Screens.Testing;
|
using osu.Framework.Screens.Testing;
|
||||||
using osu.Framework.Timing;
|
using osu.Framework.Timing;
|
||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
|
using osu.Game.Beatmaps.IO;
|
||||||
|
using osu.Game.Database;
|
||||||
using osu.Game.Modes.Catch.UI;
|
using osu.Game.Modes.Catch.UI;
|
||||||
using osu.Game.Modes.Mania.UI;
|
using osu.Game.Modes.Mania.UI;
|
||||||
using osu.Game.Modes.Objects;
|
using osu.Game.Modes.Objects;
|
||||||
@ -41,10 +43,19 @@ namespace osu.Desktop.VisualTests.Tests
|
|||||||
time += RNG.Next(50, 500);
|
time += RNG.Next(50, 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
Beatmap beatmap = new Beatmap
|
WorkingBeatmap beatmap = new TestWorkingBeatmap(new Beatmap
|
||||||
{
|
{
|
||||||
HitObjects = objects
|
HitObjects = objects,
|
||||||
};
|
BeatmapInfo = new BeatmapInfo
|
||||||
|
{
|
||||||
|
Metadata = new BeatmapMetadata
|
||||||
|
{
|
||||||
|
Artist = @"Unknown",
|
||||||
|
Title = @"Sample Beatmap",
|
||||||
|
Author = @"peppy",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Add(new Drawable[]
|
Add(new Drawable[]
|
||||||
{
|
{
|
||||||
@ -83,5 +94,16 @@ namespace osu.Desktop.VisualTests.Tests
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class TestWorkingBeatmap : WorkingBeatmap
|
||||||
|
{
|
||||||
|
public TestWorkingBeatmap(Beatmap beatmap)
|
||||||
|
: base(beatmap.BeatmapInfo, beatmap.BeatmapInfo.BeatmapSet)
|
||||||
|
{
|
||||||
|
Beatmap = beatmap;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ArchiveReader GetReader() => null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ namespace osu.Game.Modes.Catch
|
|||||||
{
|
{
|
||||||
public class CatchRuleset : Ruleset
|
public class CatchRuleset : Ruleset
|
||||||
{
|
{
|
||||||
public override HitRenderer CreateHitRendererWith(Beatmap beatmap) => new CatchHitRenderer(beatmap);
|
public override HitRenderer CreateHitRendererWith(WorkingBeatmap beatmap) => new CatchHitRenderer(beatmap);
|
||||||
|
|
||||||
public override IEnumerable<Mod> GetModsFor(ModType type)
|
public override IEnumerable<Mod> GetModsFor(ModType type)
|
||||||
{
|
{
|
||||||
|
@ -11,7 +11,7 @@ namespace osu.Game.Modes.Catch.UI
|
|||||||
{
|
{
|
||||||
public class CatchHitRenderer : HitRenderer<CatchBaseHit>
|
public class CatchHitRenderer : HitRenderer<CatchBaseHit>
|
||||||
{
|
{
|
||||||
public CatchHitRenderer(Beatmap beatmap)
|
public CatchHitRenderer(WorkingBeatmap beatmap)
|
||||||
: base(beatmap)
|
: base(beatmap)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ namespace osu.Game.Modes.Mania
|
|||||||
{
|
{
|
||||||
public class ManiaRuleset : Ruleset
|
public class ManiaRuleset : Ruleset
|
||||||
{
|
{
|
||||||
public override HitRenderer CreateHitRendererWith(Beatmap beatmap) => new ManiaHitRenderer(beatmap);
|
public override HitRenderer CreateHitRendererWith(WorkingBeatmap beatmap) => new ManiaHitRenderer(beatmap);
|
||||||
|
|
||||||
public override IEnumerable<Mod> GetModsFor(ModType type)
|
public override IEnumerable<Mod> GetModsFor(ModType type)
|
||||||
{
|
{
|
||||||
|
@ -13,7 +13,7 @@ namespace osu.Game.Modes.Mania.UI
|
|||||||
{
|
{
|
||||||
private readonly int columns;
|
private readonly int columns;
|
||||||
|
|
||||||
public ManiaHitRenderer(Beatmap beatmap, int columns = 5)
|
public ManiaHitRenderer(WorkingBeatmap beatmap, int columns = 5)
|
||||||
: base(beatmap)
|
: base(beatmap)
|
||||||
{
|
{
|
||||||
this.columns = columns;
|
this.columns = columns;
|
||||||
|
@ -17,7 +17,7 @@ namespace osu.Game.Modes.Osu
|
|||||||
{
|
{
|
||||||
public class OsuRuleset : Ruleset
|
public class OsuRuleset : Ruleset
|
||||||
{
|
{
|
||||||
public override HitRenderer CreateHitRendererWith(Beatmap beatmap) => new OsuHitRenderer(beatmap);
|
public override HitRenderer CreateHitRendererWith(WorkingBeatmap beatmap) => new OsuHitRenderer(beatmap);
|
||||||
|
|
||||||
public override IEnumerable<BeatmapStatistic> GetBeatmapStatistics(WorkingBeatmap beatmap) => new[]
|
public override IEnumerable<BeatmapStatistic> GetBeatmapStatistics(WorkingBeatmap beatmap) => new[]
|
||||||
{
|
{
|
||||||
|
@ -12,7 +12,7 @@ namespace osu.Game.Modes.Osu.UI
|
|||||||
{
|
{
|
||||||
public class OsuHitRenderer : HitRenderer<OsuHitObject>
|
public class OsuHitRenderer : HitRenderer<OsuHitObject>
|
||||||
{
|
{
|
||||||
public OsuHitRenderer(Beatmap beatmap)
|
public OsuHitRenderer(WorkingBeatmap beatmap)
|
||||||
: base(beatmap)
|
: base(beatmap)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ namespace osu.Game.Modes.Taiko
|
|||||||
{
|
{
|
||||||
public class TaikoRuleset : Ruleset
|
public class TaikoRuleset : Ruleset
|
||||||
{
|
{
|
||||||
public override HitRenderer CreateHitRendererWith(Beatmap beatmap) => new TaikoHitRenderer(beatmap);
|
public override HitRenderer CreateHitRendererWith(WorkingBeatmap beatmap) => new TaikoHitRenderer(beatmap);
|
||||||
|
|
||||||
public override IEnumerable<Mod> GetModsFor(ModType type)
|
public override IEnumerable<Mod> GetModsFor(ModType type)
|
||||||
{
|
{
|
||||||
|
@ -11,7 +11,7 @@ namespace osu.Game.Modes.Taiko.UI
|
|||||||
{
|
{
|
||||||
public class TaikoHitRenderer : HitRenderer<TaikoBaseHit>
|
public class TaikoHitRenderer : HitRenderer<TaikoBaseHit>
|
||||||
{
|
{
|
||||||
public TaikoHitRenderer(Beatmap beatmap)
|
public TaikoHitRenderer(WorkingBeatmap beatmap)
|
||||||
: base(beatmap)
|
: base(beatmap)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ namespace osu.Game.Modes
|
|||||||
|
|
||||||
public abstract ScoreProcessor CreateScoreProcessor(int hitObjectCount = 0);
|
public abstract ScoreProcessor CreateScoreProcessor(int hitObjectCount = 0);
|
||||||
|
|
||||||
public abstract HitRenderer CreateHitRendererWith(Beatmap beatmap);
|
public abstract HitRenderer CreateHitRendererWith(WorkingBeatmap beatmap);
|
||||||
|
|
||||||
public abstract HitObjectParser CreateHitObjectParser();
|
public abstract HitObjectParser CreateHitObjectParser();
|
||||||
|
|
||||||
|
@ -55,9 +55,9 @@ namespace osu.Game.Modes.UI
|
|||||||
|
|
||||||
private Container content;
|
private Container content;
|
||||||
|
|
||||||
protected HitRenderer(Beatmap beatmap)
|
protected HitRenderer(WorkingBeatmap beatmap)
|
||||||
{
|
{
|
||||||
Beatmap = CreateBeatmapConverter().Convert(beatmap);
|
Beatmap = CreateBeatmapConverter().Convert(beatmap.Beatmap);
|
||||||
|
|
||||||
RelativeSizeAxes = Axes.Both;
|
RelativeSizeAxes = Axes.Both;
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ namespace osu.Game.Screens.Play
|
|||||||
OnQuit = Exit
|
OnQuit = Exit
|
||||||
};
|
};
|
||||||
|
|
||||||
hitRenderer = ruleset.CreateHitRendererWith(beatmap);
|
hitRenderer = ruleset.CreateHitRendererWith(Beatmap);
|
||||||
|
|
||||||
if (ReplayInputHandler != null)
|
if (ReplayInputHandler != null)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user