osu/osu.Game.Rulesets.Mania.Tests/Skinning/TestSceneDrawableJudgement.cs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

51 lines
2.0 KiB
C#
Raw Normal View History

2019-12-26 13:15:49 +00:00
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using System;
using System.Linq;
using osu.Framework.Extensions;
using osu.Framework.Graphics;
using osu.Framework.Testing;
2019-12-26 13:15:49 +00:00
using osu.Game.Rulesets.Judgements;
using osu.Game.Rulesets.Mania.Scoring;
using osu.Game.Rulesets.Mania.Skinning.Legacy;
2020-03-30 14:03:36 +00:00
using osu.Game.Rulesets.Mania.UI;
2019-12-26 13:15:49 +00:00
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Scoring;
2020-03-30 14:03:36 +00:00
namespace osu.Game.Rulesets.Mania.Tests.Skinning
2019-12-26 13:15:49 +00:00
{
public partial class TestSceneDrawableJudgement : ManiaSkinnableTestScene
2019-12-26 13:15:49 +00:00
{
public TestSceneDrawableJudgement()
{
2020-06-13 03:31:34 +00:00
var hitWindows = new ManiaHitWindows();
2019-12-26 13:15:49 +00:00
foreach (HitResult result in Enum.GetValues(typeof(HitResult)).OfType<HitResult>().Skip(1))
{
2020-06-13 03:31:34 +00:00
if (hitWindows.IsHitResultAllowed(result))
{
AddStep("Show " + result.GetDescription(), () =>
{
SetContents(_ =>
new DrawableManiaJudgement(new JudgementResult(new HitObject { StartTime = Time.Current }, new Judgement())
{
Type = result
}, null)
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
});
// for test purposes, undo the Y adjustment related to the `ScorePosition` legacy positioning config value
// (see `LegacyManiaJudgementPiece.load()`).
// this prevents the judgements showing somewhere below or above the bounding box of the judgement.
foreach (var legacyPiece in this.ChildrenOfType<LegacyManiaJudgementPiece>())
legacyPiece.Y = 0;
});
2020-06-13 03:31:34 +00:00
}
2019-12-26 13:15:49 +00:00
}
}
}
}