mirror of
https://github.com/osukey/osukey.git
synced 2025-05-24 15:07:20 +09:00
Share BeatmapSet cover sprite code.
This commit is contained in:
parent
0624f578eb
commit
fea40ccc1a
28
osu.Game/Beatmaps/Drawables/BeatmapSetCover.cs
Normal file
28
osu.Game/Beatmaps/Drawables/BeatmapSetCover.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
||||||
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||||
|
|
||||||
|
using osu.Framework.Allocation;
|
||||||
|
using osu.Framework.Graphics.Sprites;
|
||||||
|
using osu.Framework.Graphics.Textures;
|
||||||
|
using osu.Game.Database;
|
||||||
|
|
||||||
|
namespace osu.Game
|
||||||
|
{
|
||||||
|
public class BeatmapSetCover : Sprite
|
||||||
|
{
|
||||||
|
private readonly BeatmapSetInfo set;
|
||||||
|
public BeatmapSetCover(BeatmapSetInfo set)
|
||||||
|
{
|
||||||
|
this.set = set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[BackgroundDependencyLoader]
|
||||||
|
private void load(TextureStore textures)
|
||||||
|
{
|
||||||
|
string resource = set.OnlineInfo.Covers.Cover;
|
||||||
|
|
||||||
|
if (resource != null)
|
||||||
|
Texture = textures.Get(resource);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -3,11 +3,9 @@
|
|||||||
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using OpenTK;
|
using OpenTK;
|
||||||
using osu.Framework.Allocation;
|
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Framework.Graphics.Containers;
|
using osu.Framework.Graphics.Containers;
|
||||||
using osu.Framework.Graphics.Sprites;
|
using osu.Framework.Graphics.Sprites;
|
||||||
using osu.Framework.Graphics.Textures;
|
|
||||||
using osu.Game.Beatmaps.Drawables;
|
using osu.Game.Beatmaps.Drawables;
|
||||||
using osu.Game.Database;
|
using osu.Game.Database;
|
||||||
using osu.Game.Graphics;
|
using osu.Game.Graphics;
|
||||||
@ -34,7 +32,7 @@ namespace osu.Game.Overlays.Direct
|
|||||||
return icons;
|
return icons;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Drawable CreateBackground() => new DelayedLoadWrapper(new BeatmapSetBackgroundSprite(SetInfo)
|
protected Drawable CreateBackground() => new DelayedLoadWrapper(new BeatmapSetCover(SetInfo)
|
||||||
{
|
{
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
@ -89,23 +87,5 @@ namespace osu.Game.Overlays.Direct
|
|||||||
Value = value;
|
Value = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class BeatmapSetBackgroundSprite : Sprite
|
|
||||||
{
|
|
||||||
private readonly BeatmapSetInfo set;
|
|
||||||
public BeatmapSetBackgroundSprite(BeatmapSetInfo set)
|
|
||||||
{
|
|
||||||
this.set = set;
|
|
||||||
}
|
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
|
||||||
private void load(TextureStore textures)
|
|
||||||
{
|
|
||||||
string resource = set.OnlineInfo.Covers.Card;
|
|
||||||
|
|
||||||
if (resource != null)
|
|
||||||
Texture = textures.Get(resource);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,10 +9,8 @@ using osu.Framework.Extensions.Color4Extensions;
|
|||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Framework.Graphics.Containers;
|
using osu.Framework.Graphics.Containers;
|
||||||
using osu.Framework.Graphics.Shapes;
|
using osu.Framework.Graphics.Shapes;
|
||||||
using osu.Framework.Graphics.Sprites;
|
|
||||||
using osu.Framework.Graphics.Textures;
|
using osu.Framework.Graphics.Textures;
|
||||||
using osu.Framework.Localisation;
|
using osu.Framework.Localisation;
|
||||||
using osu.Game.Beatmaps.Drawables;
|
|
||||||
using osu.Game.Database;
|
using osu.Game.Database;
|
||||||
using osu.Game.Graphics;
|
using osu.Game.Graphics;
|
||||||
using osu.Game.Graphics.Containers;
|
using osu.Game.Graphics.Containers;
|
||||||
@ -45,7 +43,6 @@ namespace osu.Game.Screens.Multiplayer
|
|||||||
private readonly Bindable<User[]> participantsBind = new Bindable<User[]>();
|
private readonly Bindable<User[]> participantsBind = new Bindable<User[]>();
|
||||||
|
|
||||||
private OsuColour colours;
|
private OsuColour colours;
|
||||||
private TextureStore textures;
|
|
||||||
private LocalisationEngine localisation;
|
private LocalisationEngine localisation;
|
||||||
|
|
||||||
public readonly Room Room;
|
public readonly Room Room;
|
||||||
@ -188,7 +185,6 @@ namespace osu.Game.Screens.Multiplayer
|
|||||||
private void load(OsuColour colours, TextureStore textures, LocalisationEngine localisation)
|
private void load(OsuColour colours, TextureStore textures, LocalisationEngine localisation)
|
||||||
{
|
{
|
||||||
this.localisation = localisation;
|
this.localisation = localisation;
|
||||||
this.textures = textures;
|
|
||||||
this.colours = colours;
|
this.colours = colours;
|
||||||
|
|
||||||
beatmapInfoFlow.Colour = colours.Gray9;
|
beatmapInfoFlow.Colour = colours.Gray9;
|
||||||
@ -234,7 +230,7 @@ namespace osu.Game.Screens.Multiplayer
|
|||||||
coverContainer.FadeIn(transition_duration);
|
coverContainer.FadeIn(transition_duration);
|
||||||
coverContainer.Children = new[]
|
coverContainer.Children = new[]
|
||||||
{
|
{
|
||||||
new AsyncLoadWrapper(new BeatmapSetBackgroundSprite(value.BeatmapSet)
|
new AsyncLoadWrapper(new BeatmapSetCover(value.BeatmapSet)
|
||||||
{
|
{
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
@ -263,23 +259,5 @@ namespace osu.Game.Screens.Multiplayer
|
|||||||
{
|
{
|
||||||
participantInfo.Participants = value;
|
participantInfo.Participants = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
private class BeatmapSetBackgroundSprite : Sprite
|
|
||||||
{
|
|
||||||
private readonly BeatmapSetInfo set;
|
|
||||||
public BeatmapSetBackgroundSprite(BeatmapSetInfo set)
|
|
||||||
{
|
|
||||||
this.set = set;
|
|
||||||
}
|
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
|
||||||
private void load(TextureStore textures)
|
|
||||||
{
|
|
||||||
string resource = set.OnlineInfo.Covers.Cover;
|
|
||||||
|
|
||||||
if (resource != null)
|
|
||||||
Texture = textures.Get(resource);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -494,6 +494,7 @@
|
|||||||
<Compile Include="Screens\Multiplayer\DrawableGameType.cs" />
|
<Compile Include="Screens\Multiplayer\DrawableGameType.cs" />
|
||||||
<Compile Include="Screens\Multiplayer\ParticipantInfo.cs" />
|
<Compile Include="Screens\Multiplayer\ParticipantInfo.cs" />
|
||||||
<Compile Include="Screens\Multiplayer\ModeTypeInfo.cs" />
|
<Compile Include="Screens\Multiplayer\ModeTypeInfo.cs" />
|
||||||
|
<Compile Include="Beatmaps\Drawables\BeatmapSetCover.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\osu-framework\osu.Framework\osu.Framework.csproj">
|
<ProjectReference Include="..\osu-framework\osu.Framework\osu.Framework.csproj">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user