Add unstable rate statistic to rulesets in which it makes sense

This commit is contained in:
Bartłomiej Dach 2020-08-26 21:28:41 +02:00
parent 5973e2ce4e
commit 05e725d59f
3 changed files with 62 additions and 27 deletions

View File

@ -326,6 +326,14 @@ namespace osu.Game.Rulesets.Mania
Height = 250 Height = 250
}), }),
} }
},
new SimpleStatisticRow
{
Columns = 3,
Items = new SimpleStatisticItem[]
{
new UnstableRate(score.HitEvents)
}
} }
}; };
} }

View File

@ -193,30 +193,44 @@ namespace osu.Game.Rulesets.Osu
public override IRulesetConfigManager CreateConfig(SettingsStore settings) => new OsuRulesetConfigManager(settings, RulesetInfo); public override IRulesetConfigManager CreateConfig(SettingsStore settings) => new OsuRulesetConfigManager(settings, RulesetInfo);
public override IStatisticRow[] CreateStatisticsForScore(ScoreInfo score, IBeatmap playableBeatmap) => new IStatisticRow[] public override IStatisticRow[] CreateStatisticsForScore(ScoreInfo score, IBeatmap playableBeatmap)
{ {
new StatisticRow var timedHitEvents = score.HitEvents.Where(e => e.HitObject is HitCircle && !(e.HitObject is SliderTailCircle)).ToList();
return new IStatisticRow[]
{ {
Columns = new[] new StatisticRow
{ {
new StatisticItem("Timing Distribution", new HitEventTimingDistributionGraph(score.HitEvents.Where(e => e.HitObject is HitCircle && !(e.HitObject is SliderTailCircle)).ToList()) Columns = new[]
{ {
RelativeSizeAxes = Axes.X, new StatisticItem("Timing Distribution",
Height = 250 new HitEventTimingDistributionGraph(timedHitEvents)
}), {
} RelativeSizeAxes = Axes.X,
}, Height = 250
new StatisticRow }),
{ }
Columns = new[] },
new StatisticRow
{ {
new StatisticItem("Accuracy Heatmap", new AccuracyHeatmap(score, playableBeatmap) Columns = new[]
{ {
RelativeSizeAxes = Axes.X, new StatisticItem("Accuracy Heatmap", new AccuracyHeatmap(score, playableBeatmap)
Height = 250 {
}), RelativeSizeAxes = Axes.X,
Height = 250
}),
}
},
new SimpleStatisticRow
{
Columns = 3,
Items = new SimpleStatisticItem[]
{
new UnstableRate(timedHitEvents)
}
} }
} };
}; }
} }
} }

View File

@ -161,19 +161,32 @@ namespace osu.Game.Rulesets.Taiko
public override IConvertibleReplayFrame CreateConvertibleReplayFrame() => new TaikoReplayFrame(); public override IConvertibleReplayFrame CreateConvertibleReplayFrame() => new TaikoReplayFrame();
public override IStatisticRow[] CreateStatisticsForScore(ScoreInfo score, IBeatmap playableBeatmap) => new IStatisticRow[] public override IStatisticRow[] CreateStatisticsForScore(ScoreInfo score, IBeatmap playableBeatmap)
{ {
new StatisticRow var timedHitEvents = score.HitEvents.Where(e => e.HitObject is Hit).ToList();
return new IStatisticRow[]
{ {
Columns = new[] new StatisticRow
{ {
new StatisticItem("Timing Distribution", new HitEventTimingDistributionGraph(score.HitEvents.Where(e => e.HitObject is Hit).ToList()) Columns = new[]
{ {
RelativeSizeAxes = Axes.X, new StatisticItem("Timing Distribution", new HitEventTimingDistributionGraph(timedHitEvents)
Height = 250 {
}), RelativeSizeAxes = Axes.X,
Height = 250
}),
}
},
new SimpleStatisticRow
{
Columns = 3,
Items = new SimpleStatisticItem[]
{
new UnstableRate(timedHitEvents)
}
} }
} };
}; }
} }
} }