// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. #nullable disable using osu.Framework.Allocation; using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Game.Beatmaps.Legacy; using osu.Game.Tournament.Components; using osu.Game.Tournament.IPC; using osu.Game.Tournament.Models; namespace osu.Game.Tournament.Screens { public abstract partial class BeatmapInfoScreen : TournamentMatchScreen { protected readonly SongBar SongBar; protected BeatmapInfoScreen() { AddInternal(SongBar = new SongBar { Anchor = Anchor.BottomRight, Origin = Anchor.BottomRight, Depth = float.MinValue, }); } [BackgroundDependencyLoader] private void load(MatchIPCInfo ipc) { ipc.Beatmap.BindValueChanged(beatmapChanged, true); ipc.Mods.BindValueChanged(modsChanged, true); } private void modsChanged(ValueChangedEvent mods) { SongBar.Mods = mods.NewValue; } private void beatmapChanged(ValueChangedEvent beatmap) { SongBar.FadeInFromZero(300, Easing.OutQuint); SongBar.Beatmap = beatmap.NewValue; } } }