osu/osu.Game.Tournament/Screens/BeatmapInfoScreen.cs

46 lines
1.2 KiB
C#
Raw Normal View History

2018-11-06 10:23:03 +00:00
// Copyright (c) 2007-2018 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;
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.Legacy;
using osu.Game.Screens;
using osu.Game.Tournament.Components;
2018-11-07 16:23:00 +00:00
using osu.Game.Tournament.IPC;
2018-11-06 10:23:03 +00:00
namespace osu.Game.Tournament.Screens
{
public abstract class BeatmapInfoScreen : OsuScreen
{
protected readonly SongBar SongBar;
protected BeatmapInfoScreen()
{
Add(SongBar = new SongBar
{
2018-11-10 16:29:42 +00:00
Anchor = Anchor.BottomRight,
Origin = Anchor.BottomRight,
2018-11-06 10:23:03 +00:00
});
}
[BackgroundDependencyLoader]
2018-11-07 16:23:00 +00:00
private void load(FileBasedIPC ipc)
2018-11-06 10:23:03 +00:00
{
2018-11-07 16:23:00 +00:00
ipc.Beatmap.BindValueChanged(beatmapChanged, true);
ipc.Mods.BindValueChanged(modsChanged, true);
2018-11-06 10:23:03 +00:00
}
2018-11-07 16:23:00 +00:00
private void modsChanged(LegacyMods mods)
2018-11-06 10:23:03 +00:00
{
2018-11-07 16:23:00 +00:00
SongBar.Mods = mods;
2018-11-06 10:23:03 +00:00
}
2018-11-07 16:23:00 +00:00
private void beatmapChanged(BeatmapInfo beatmap)
2018-11-06 10:23:03 +00:00
{
2018-11-07 16:23:00 +00:00
SongBar.FadeInFromZero(300, Easing.OutQuint);
SongBar.Beatmap = beatmap;
2018-11-06 10:23:03 +00:00
}
}
}