// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using osu.Framework.Graphics; using osu.Game.Skinning; namespace osu.Game.Rulesets.Catch.Skinning.Argon { public class CatchArgonSkinTransformer : SkinTransformer { public CatchArgonSkinTransformer(ISkin skin) : base(skin) { } public override Drawable? GetDrawableComponent(ISkinComponent component) { switch (component) { case CatchSkinComponent osuComponent: // TODO: Once everything is finalised, consider throwing UnsupportedSkinComponentException on missing entries. switch (osuComponent.Component) { case CatchSkinComponents.Catcher: return new ArgonCatcher(); case CatchSkinComponents.Fruit: return new ArgonFruitPiece(); case CatchSkinComponents.Banana: return new ArgonBananaPiece(); case CatchSkinComponents.Droplet: return new ArgonDropletPiece(); } break; } return base.GetDrawableComponent(component); } } }