Move CatcherSprite to its own file + Make CatcherSprite a SkinReloadableDrawable

This commit is contained in:
Lucas A
2019-06-22 17:53:00 +02:00
parent d06fd299cd
commit e2f82ac29b
2 changed files with 48 additions and 20 deletions

View File

@ -0,0 +1,46 @@
// 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 osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Textures;
using osu.Game.Skinning;
using osuTK;
namespace osu.Game.Rulesets.Catch.UI
{
public class CatcherSprite : SkinReloadableDrawable
{
private Drawable catcher;
public CatcherSprite()
{
Size = new Vector2(CatcherArea.CATCHER_SIZE);
// Sets the origin roughly to the centre of the catcher's plate to allow for correct scaling.
OriginPosition = new Vector2(-0.02f, 0.06f) * CatcherArea.CATCHER_SIZE;
}
[BackgroundDependencyLoader]
private void load(TextureStore textures)
{
InternalChild = new Container()
{
RelativeSizeAxes = Axes.Both,
Child = catcher = new SkinnableDrawable("fruit-catcher-idle", _ => new Sprite()
{
Texture = textures.Get(@"Play/Catch/fruit-catcher-idle"),
RelativeSizeAxes = Axes.Both,
Size = Vector2.One,
}, restrictSize: true)
{
RelativeSizeAxes = Axes.Both,
Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre,
}
};
}
}
}