mirror of
https://github.com/osukey/osukey.git
synced 2025-08-04 15:16:38 +09:00
Update judgement processors with new hit results
This commit is contained in:
@ -167,7 +167,7 @@ namespace osu.Game.Tests.Gameplay
|
||||
|
||||
beatmap.HitObjects.Add(new JudgeableHitObject { StartTime = 0 });
|
||||
for (double time = 0; time < 5000; time += 100)
|
||||
beatmap.HitObjects.Add(new JudgeableHitObject(false) { StartTime = time });
|
||||
beatmap.HitObjects.Add(new JudgeableHitObject(HitResult.LargeBonus) { StartTime = time });
|
||||
beatmap.HitObjects.Add(new JudgeableHitObject { StartTime = 5000 });
|
||||
|
||||
createProcessor(beatmap);
|
||||
@ -215,23 +215,23 @@ namespace osu.Game.Tests.Gameplay
|
||||
|
||||
private class JudgeableHitObject : HitObject
|
||||
{
|
||||
private readonly bool affectsCombo;
|
||||
private readonly HitResult maxResult;
|
||||
|
||||
public JudgeableHitObject(bool affectsCombo = true)
|
||||
public JudgeableHitObject(HitResult maxResult = HitResult.Perfect)
|
||||
{
|
||||
this.affectsCombo = affectsCombo;
|
||||
this.maxResult = maxResult;
|
||||
}
|
||||
|
||||
public override Judgement CreateJudgement() => new TestJudgement(affectsCombo);
|
||||
public override Judgement CreateJudgement() => new TestJudgement(maxResult);
|
||||
protected override HitWindows CreateHitWindows() => new HitWindows();
|
||||
|
||||
private class TestJudgement : Judgement
|
||||
{
|
||||
public override bool AffectsCombo { get; }
|
||||
public override HitResult MaxResult { get; }
|
||||
|
||||
public TestJudgement(bool affectsCombo)
|
||||
public TestJudgement(HitResult maxResult)
|
||||
{
|
||||
AffectsCombo = affectsCombo;
|
||||
MaxResult = maxResult;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,13 +17,13 @@ namespace osu.Game.Tests.Gameplay
|
||||
[Test]
|
||||
public void TestNoScoreIncreaseFromMiss()
|
||||
{
|
||||
var beatmap = new Beatmap<TestHitObject> { HitObjects = { new TestHitObject() } };
|
||||
var beatmap = new Beatmap<HitObject> { HitObjects = { new HitObject() } };
|
||||
|
||||
var scoreProcessor = new ScoreProcessor();
|
||||
scoreProcessor.ApplyBeatmap(beatmap);
|
||||
|
||||
// Apply a miss judgement
|
||||
scoreProcessor.ApplyResult(new JudgementResult(new TestHitObject(), new TestJudgement()) { Type = HitResult.Miss });
|
||||
scoreProcessor.ApplyResult(new JudgementResult(new HitObject(), new TestJudgement()) { Type = HitResult.Miss });
|
||||
|
||||
Assert.That(scoreProcessor.TotalScore.Value, Is.EqualTo(0.0));
|
||||
}
|
||||
@ -31,37 +31,25 @@ namespace osu.Game.Tests.Gameplay
|
||||
[Test]
|
||||
public void TestOnlyBonusScore()
|
||||
{
|
||||
var beatmap = new Beatmap<TestBonusHitObject> { HitObjects = { new TestBonusHitObject() } };
|
||||
var beatmap = new Beatmap<HitObject> { HitObjects = { new HitObject() } };
|
||||
|
||||
var scoreProcessor = new ScoreProcessor();
|
||||
scoreProcessor.ApplyBeatmap(beatmap);
|
||||
|
||||
// Apply a judgement
|
||||
scoreProcessor.ApplyResult(new JudgementResult(new TestBonusHitObject(), new TestBonusJudgement()) { Type = HitResult.Perfect });
|
||||
scoreProcessor.ApplyResult(new JudgementResult(new HitObject(), new TestJudgement(HitResult.LargeBonus)) { Type = HitResult.LargeBonus });
|
||||
|
||||
Assert.That(scoreProcessor.TotalScore.Value, Is.EqualTo(100));
|
||||
}
|
||||
|
||||
private class TestHitObject : HitObject
|
||||
{
|
||||
public override Judgement CreateJudgement() => new TestJudgement();
|
||||
Assert.That(scoreProcessor.TotalScore.Value, Is.EqualTo(Judgement.LARGE_BONUS_SCORE));
|
||||
}
|
||||
|
||||
private class TestJudgement : Judgement
|
||||
{
|
||||
protected override int NumericResultFor(HitResult result) => 100;
|
||||
}
|
||||
public override HitResult MaxResult { get; }
|
||||
|
||||
private class TestBonusHitObject : HitObject
|
||||
{
|
||||
public override Judgement CreateJudgement() => new TestBonusJudgement();
|
||||
}
|
||||
|
||||
private class TestBonusJudgement : Judgement
|
||||
{
|
||||
public override bool AffectsCombo => false;
|
||||
|
||||
protected override int NumericResultFor(HitResult result) => 100;
|
||||
public TestJudgement(HitResult maxResult = HitResult.Perfect)
|
||||
{
|
||||
MaxResult = maxResult;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user