mirror of
https://github.com/ppy/osu.git
synced 2024-11-06 06:57:39 +08:00
Use decimal data type instead
This commit is contained in:
parent
d15db378ce
commit
2cf17e0bf3
@ -57,15 +57,31 @@ namespace osu.Game.Tests.Skins
|
||||
}
|
||||
}
|
||||
|
||||
[TestCase("skin-20.ini", 2.0)]
|
||||
[TestCase("skin-latest.ini", LegacySkinConfiguration.LATEST_VERSION)]
|
||||
[TestCase("skin-empty.ini", null)]
|
||||
public void TestDecodeVersion(string filename, double? expected)
|
||||
[Test]
|
||||
public void TestDecodeSpecifiedVersion()
|
||||
{
|
||||
var decoder = new LegacySkinDecoder();
|
||||
using (var resStream = TestResources.OpenResource(filename))
|
||||
using (var resStream = TestResources.OpenResource("skin-20.ini"))
|
||||
using (var stream = new LineBufferedReader(resStream))
|
||||
Assert.AreEqual(expected, decoder.Decode(stream).LegacyVersion);
|
||||
Assert.AreEqual(2.0m, decoder.Decode(stream).LegacyVersion);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestDecodeLatestVersion()
|
||||
{
|
||||
var decoder = new LegacySkinDecoder();
|
||||
using (var resStream = TestResources.OpenResource("skin-latest.ini"))
|
||||
using (var stream = new LineBufferedReader(resStream))
|
||||
Assert.AreEqual(LegacySkinConfiguration.LATEST_VERSION, decoder.Decode(stream).LegacyVersion);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestDecodeNoVersion()
|
||||
{
|
||||
var decoder = new LegacySkinDecoder();
|
||||
using (var resStream = TestResources.OpenResource("skin-empty.ini"))
|
||||
using (var stream = new LineBufferedReader(resStream))
|
||||
Assert.IsNull(decoder.Decode(stream).LegacyVersion);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ namespace osu.Game.Skinning
|
||||
new Color4(242, 24, 57, 255),
|
||||
});
|
||||
|
||||
Configuration.LegacyVersion = 2.0;
|
||||
Configuration.LegacyVersion = 2.0m;
|
||||
}
|
||||
|
||||
public static SkinInfo Info { get; } = new SkinInfo
|
||||
|
@ -78,7 +78,7 @@ namespace osu.Game.Skinning
|
||||
{
|
||||
case LegacySkinConfigurations.Version:
|
||||
if (Configuration.LegacyVersion.HasValue)
|
||||
return SkinUtils.As<TValue>(new BindableDouble(Configuration.LegacyVersion.Value));
|
||||
return SkinUtils.As<TValue>(new Bindable<decimal>(Configuration.LegacyVersion.Value));
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -5,12 +5,12 @@ namespace osu.Game.Skinning
|
||||
{
|
||||
public class LegacySkinConfiguration : DefaultSkinConfiguration
|
||||
{
|
||||
public const double LATEST_VERSION = 2.5;
|
||||
public const decimal LATEST_VERSION = 2.5m;
|
||||
|
||||
/// <summary>
|
||||
/// Legacy version of this skin.
|
||||
/// </summary>
|
||||
public double? LegacyVersion { get; internal set; }
|
||||
public decimal? LegacyVersion { get; internal set; }
|
||||
}
|
||||
|
||||
public enum LegacySkinConfigurations
|
||||
|
@ -36,7 +36,7 @@ namespace osu.Game.Skinning
|
||||
case @"Version":
|
||||
if (pair.Value == "latest" || pair.Value == "User")
|
||||
skin.LegacyVersion = LegacySkinConfiguration.LATEST_VERSION;
|
||||
else if (double.TryParse(pair.Value, out var version))
|
||||
else if (decimal.TryParse(pair.Value, out var version))
|
||||
skin.LegacyVersion = version;
|
||||
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user