mirror of
https://github.com/osukey/osukey.git
synced 2025-08-04 15:16:38 +09:00
Rename CreateLegacySkinProvider
to CreateSkinTransformer
and apply to all skins
This commit is contained in:
@ -200,7 +200,13 @@ namespace osu.Game.Rulesets
|
||||
|
||||
public ModAutoplay? GetAutoplayMod() => CreateMod<ModAutoplay>();
|
||||
|
||||
public virtual ISkin? CreateLegacySkinProvider(ISkin skin, IBeatmap beatmap) => null;
|
||||
/// <summary>
|
||||
/// Create a transformer which adds lookups specific to a ruleset to skin sources.
|
||||
/// </summary>
|
||||
/// <param name="skin">The source skin.</param>
|
||||
/// <param name="beatmap">The current beatmap.</param>
|
||||
/// <returns>A skin with a transformer applied, or null if no transformation is provided by this ruleset.</returns>
|
||||
public virtual ISkin? CreateSkinTransformer(ISkin skin, IBeatmap beatmap) => null;
|
||||
|
||||
protected Ruleset()
|
||||
{
|
||||
|
@ -41,7 +41,7 @@ namespace osu.Game.Skinning
|
||||
Ruleset = ruleset;
|
||||
Beatmap = beatmap;
|
||||
|
||||
InternalChild = new BeatmapSkinProvidingContainer(beatmapSkin is LegacySkin ? GetLegacyRulesetTransformedSkin(beatmapSkin) : beatmapSkin)
|
||||
InternalChild = new BeatmapSkinProvidingContainer(beatmapSkin is LegacySkin ? GetRulesetTransformedSkin(beatmapSkin) : beatmapSkin)
|
||||
{
|
||||
Child = Content = new Container
|
||||
{
|
||||
@ -67,16 +67,16 @@ namespace osu.Game.Skinning
|
||||
|
||||
Debug.Assert(ParentSource != null);
|
||||
|
||||
foreach (var skin in ParentSource.AllSources)
|
||||
foreach (var source in ParentSource.AllSources)
|
||||
{
|
||||
switch (skin)
|
||||
switch (source)
|
||||
{
|
||||
case LegacySkin legacySkin:
|
||||
sources.Add(GetLegacyRulesetTransformedSkin(legacySkin));
|
||||
case Skin skin:
|
||||
sources.Add(GetRulesetTransformedSkin(skin));
|
||||
break;
|
||||
|
||||
default:
|
||||
sources.Add(skin);
|
||||
sources.Add(source);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -94,16 +94,16 @@ namespace osu.Game.Skinning
|
||||
SetSources(sources);
|
||||
}
|
||||
|
||||
protected ISkin GetLegacyRulesetTransformedSkin(ISkin legacySkin)
|
||||
protected ISkin GetRulesetTransformedSkin(ISkin skin)
|
||||
{
|
||||
if (legacySkin == null)
|
||||
if (skin == null)
|
||||
return null;
|
||||
|
||||
var rulesetTransformed = Ruleset.CreateLegacySkinProvider(legacySkin, Beatmap);
|
||||
var rulesetTransformed = Ruleset.CreateSkinTransformer(skin, Beatmap);
|
||||
if (rulesetTransformed != null)
|
||||
return rulesetTransformed;
|
||||
|
||||
return legacySkin;
|
||||
return skin;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool isDisposing)
|
||||
|
@ -83,7 +83,7 @@ namespace osu.Game.Tests.Visual
|
||||
ISkin provider = skin;
|
||||
|
||||
if (provider is LegacySkin legacyProvider)
|
||||
provider = Ruleset.Value.CreateInstance().CreateLegacySkinProvider(legacyProvider, beatmap);
|
||||
provider = Ruleset.Value.CreateInstance().CreateSkinTransformer(legacyProvider, beatmap);
|
||||
|
||||
var children = new Container
|
||||
{
|
||||
|
Reference in New Issue
Block a user