Retrieve numeric version value from legacy configuration

This commit is contained in:
iiSaLMaN 2019-10-03 06:48:59 +03:00
parent 89075c5655
commit 3fe5611700
3 changed files with 24 additions and 2 deletions

View File

@ -125,8 +125,7 @@ namespace osu.Game.Rulesets.Osu.Skinning
break;
case OsuSkinConfiguration.ExpandNumberPiece:
string legacyVersion = source.GetConfig<string, string>("Version")?.Value ?? "1";
return SkinUtils.As<TValue>(new BindableBool(double.TryParse(legacyVersion, out double version) && version < 2.0));
return SkinUtils.As<TValue>(new BindableBool(source.GetConfig<LegacySkinConfiguration, double>(LegacySkinConfiguration.LegacyVersion).Value < 2.0));
}
break;

View File

@ -70,6 +70,19 @@ namespace osu.Game.Skinning
case GlobalSkinColour colour:
return SkinUtils.As<TValue>(getCustomColour(colour.ToString()));
case LegacySkinConfiguration legacy:
switch (legacy)
{
case LegacySkinConfiguration.LegacyVersion:
var versionString = GetConfig<string, string>("Version").Value;
if (!double.TryParse(versionString, out double version))
version = versionString == "latest" ? 2.7 : 1;
return SkinUtils.As<TValue>(new BindableDouble(version));
}
break;
case SkinCustomColourLookup customColour:
return SkinUtils.As<TValue>(getCustomColour(customColour.Lookup.ToString()));

View File

@ -0,0 +1,10 @@
// 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.
namespace osu.Game.Skinning
{
public enum LegacySkinConfiguration
{
LegacyVersion,
}
}