1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 11:35:35 +08:00

PreviewTimePart will not show if preview time is -1

This commit is contained in:
cdwcgt 2022-12-16 10:44:07 +09:00
parent f0246df1a9
commit 79e27c2d9d
No known key found for this signature in database
GPG Key ID: 144396D01095C3A2
2 changed files with 17 additions and 1 deletions

View File

@ -1,9 +1,12 @@
// 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.Linq;
using NUnit.Framework;
using osu.Framework.Testing;
using osu.Game.Rulesets;
using osu.Game.Rulesets.Osu;
using osu.Game.Screens.Edit.Components.Timelines.Summary.Parts;
namespace osu.Game.Tests.Visual.Editing
{
@ -12,12 +15,21 @@ namespace osu.Game.Tests.Visual.Editing
protected override Ruleset CreateEditorRuleset() => new OsuRuleset();
[Test]
public void TestSetPreviewTimingPoint()
public void TestSceneSetPreviewTimingPoint()
{
AddStep("seek to 1000", () => EditorClock.Seek(1000));
AddAssert("time is 1000", () => EditorClock.CurrentTime == 1000);
AddStep("set current time as preview point", () => Editor.SetCurrectTimeAsPreview());
AddAssert("preview time is 1000", () => EditorBeatmap.PreviewTime.Value == 1000);
}
[Test]
public void TestScenePreviewTimeline()
{
AddStep("set preview time to -1", () => EditorBeatmap.PreviewTime.Value = -1);
AddAssert("preview time line should not show", () => Editor.ChildrenOfType<PreviewTimePart>().Single().Alpha == 0);
AddStep("set preview time to 1000", () => EditorBeatmap.PreviewTime.Value = 1000);
AddAssert("preview time line should show", () => Editor.ChildrenOfType<PreviewTimePart>().Single().Alpha == 1);
}
}
}

View File

@ -14,6 +14,10 @@ namespace osu.Game.Screens.Edit.Components.Timelines.Summary.Parts
{
base.LoadBeatmap(beatmap);
Add(new PreviewTimeVisualisation(beatmap.PreviewTime));
beatmap.PreviewTime.BindValueChanged(s =>
{
Alpha = s.NewValue == -1 ? 0 : 1;
}, true);
}
private partial class PreviewTimeVisualisation : PointVisualisation