Skip to content

Commit

Permalink
Merge pull request #2209 from andy840119/fix-lyric-text-processor-tes…
Browse files Browse the repository at this point in the history
…t-scene

Fix lyric text processor test scene not display the right display type.
  • Loading branch information
andy840119 authored Apr 7, 2024
2 parents 714e6b8 + 43d3022 commit 70c1c6f
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ protected TestSceneDisplayProcessor()

#region Override properties.

protected abstract BaseDisplayProcessor CreateProcessor(Lyric lyric, LyricDisplayProperty displayProperty);
protected abstract LyricDisplayType DisplayType { get; }

#endregion

Expand Down Expand Up @@ -140,7 +140,7 @@ protected void Initialize(Func<Lyric> createLyricFunc, LyricDisplayProperty disp

// create processor
lyric = createLyricFunc();
testProcessor = CreateProcessor(lyric, displayProperty);
testProcessor = DisplayLyricProcessor.GetLyricDisplayProcessor(lyric, DisplayType, displayProperty);

// bind event
testProcessor.TopTextChanged += texts =>
Expand All @@ -165,19 +165,25 @@ protected void Initialize(Func<Lyric> createLyricFunc, LyricDisplayProperty disp
};

// create the drawable for preview.
createSampleSpriteText(lyric);
createSampleSpriteText(lyric, DisplayType, displayProperty);
});
}

private void createSampleSpriteText(Lyric lyric)
private void createSampleSpriteText(Lyric lyric, LyricDisplayType displayType, LyricDisplayProperty displayProperty)
{
Cell(0).Child = createProvider("karaoke sprite text", new DrawableKaraokeSpriteText(lyric)
{
LeftTextColour = Color4.Green,
RightTextColour = Color4.Red,
Clock = new FramedClock(manualClock),
DisplayType = displayType,
DisplayProperty = displayProperty,
});
Cell(1).Child = createProvider("lyric sprite text", new DrawableLyricSpriteText(lyric)
{
DisplayType = displayType,
DisplayProperty = displayProperty,
});
Cell(1).Child = createProvider("lyric sprite text", new DrawableLyricSpriteText(lyric));
return;

static Drawable createProvider(string name, Drawable sample) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,14 @@
using NUnit.Framework;
using osu.Framework.Graphics.Sprites;
using osu.Game.Rulesets.Karaoke.Graphics.Sprites;
using osu.Game.Rulesets.Karaoke.Graphics.Sprites.Processor;
using osu.Game.Rulesets.Karaoke.Objects;
using osu.Game.Rulesets.Karaoke.Tests.Helper;

namespace osu.Game.Rulesets.Karaoke.Tests.Graphics.Sprites.Processor;

public partial class TestSceneLyricFirstDisplayProcessor : TestSceneDisplayProcessor
{
protected override BaseDisplayProcessor CreateProcessor(Lyric lyric, LyricDisplayProperty displayProperty)
=> new LyricFirstDisplayProcessor(lyric, displayProperty);
protected override LyricDisplayType DisplayType => LyricDisplayType.Lyric;

#region Happy path

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,14 @@
using NUnit.Framework;
using osu.Framework.Graphics.Sprites;
using osu.Game.Rulesets.Karaoke.Graphics.Sprites;
using osu.Game.Rulesets.Karaoke.Graphics.Sprites.Processor;
using osu.Game.Rulesets.Karaoke.Objects;
using osu.Game.Rulesets.Karaoke.Tests.Helper;

namespace osu.Game.Rulesets.Karaoke.Tests.Graphics.Sprites.Processor;

public partial class TestSceneRomanisedSyllableFirstDisplayProcessor : TestSceneDisplayProcessor
{
protected override BaseDisplayProcessor CreateProcessor(Lyric lyric, LyricDisplayProperty displayProperty)
=> new RomanisedSyllableFirstDisplayProcessor(lyric, displayProperty);
protected override LyricDisplayType DisplayType => LyricDisplayType.RomanisedSyllable;

#region Happy path

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ private void reloadProcessor()
{
// re-create the processor.
processor?.Dispose();
processor = GetLyricDisplayProcessor(lyric, DisplayType, DisplayProperty);
processor = DisplayType switch
{
LyricDisplayType.Lyric => new LyricFirstDisplayProcessor(lyric, DisplayProperty),
Expand Down Expand Up @@ -105,4 +106,12 @@ public void Dispose()
{
processor?.Dispose();
}

public static BaseDisplayProcessor GetLyricDisplayProcessor(Lyric lyric, LyricDisplayType displayType, LyricDisplayProperty displayProperty) =>
displayType switch
{
LyricDisplayType.Lyric => new LyricFirstDisplayProcessor(lyric, displayProperty),
LyricDisplayType.RomanisedSyllable => new RomanisedSyllableFirstDisplayProcessor(lyric, displayProperty),
_ => throw new ArgumentOutOfRangeException(),
};
}

0 comments on commit 70c1c6f

Please sign in to comment.