2020-04-04 21:30:10 +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 NUnit.Framework;
|
|
|
|
using osu.Framework.IO.Stores;
|
|
|
|
using osu.Game.Rulesets.Catch.Skinning;
|
2020-12-07 03:35:24 +00:00
|
|
|
using osu.Game.Rulesets.Catch.Skinning.Legacy;
|
2020-04-04 21:30:10 +00:00
|
|
|
using osu.Game.Skinning;
|
|
|
|
using osuTK.Graphics;
|
|
|
|
|
|
|
|
namespace osu.Game.Rulesets.Catch.Tests
|
|
|
|
{
|
|
|
|
[TestFixture]
|
|
|
|
public class CatchSkinColourDecodingTest
|
|
|
|
{
|
|
|
|
[Test]
|
|
|
|
public void TestCatchSkinColourDecoding()
|
|
|
|
{
|
|
|
|
var store = new NamespacedResourceStore<byte[]>(new DllResourceStore(GetType().Assembly), "Resources/special-skin");
|
|
|
|
var rawSkin = new TestLegacySkin(new SkinInfo { Name = "special-skin" }, store);
|
2020-06-21 20:05:10 +00:00
|
|
|
var skinSource = new SkinProvidingContainer(rawSkin);
|
|
|
|
var skin = new CatchLegacySkinTransformer(skinSource);
|
2020-04-04 21:30:10 +00:00
|
|
|
|
2020-05-14 04:26:47 +00:00
|
|
|
Assert.AreEqual(new Color4(232, 185, 35, 255), skin.GetConfig<CatchSkinColour, Color4>(CatchSkinColour.HyperDash)?.Value);
|
|
|
|
Assert.AreEqual(new Color4(232, 74, 35, 255), skin.GetConfig<CatchSkinColour, Color4>(CatchSkinColour.HyperDashAfterImage)?.Value);
|
|
|
|
Assert.AreEqual(new Color4(0, 255, 255, 255), skin.GetConfig<CatchSkinColour, Color4>(CatchSkinColour.HyperDashFruit)?.Value);
|
2020-04-04 21:30:10 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private class TestLegacySkin : LegacySkin
|
|
|
|
{
|
|
|
|
public TestLegacySkin(SkinInfo skin, IResourceStore<byte[]> storage)
|
|
|
|
// Bypass LegacySkinResourceStore to avoid returning null for retrieving files due to bad skin info (SkinInfo.Files = null).
|
|
|
|
: base(skin, storage, null, "skin.ini")
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|