Created
September 29, 2017 05:34
-
-
Save smoogipoo/70a7f6fd63c32901530467ca1d116169 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copyright (c) 2007-2017 ppy Pty Ltd <[email protected]>. | |
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE | |
using OpenTK; | |
using OpenTK.Graphics; | |
using osu.Framework.Extensions.Color4Extensions; | |
using osu.Framework.Graphics; | |
using osu.Framework.Graphics.Containers; | |
using osu.Framework.Graphics.Shapes; | |
using osu.Framework.Input; | |
using osu.Game.Beatmaps; | |
using osu.Game.Graphics; | |
using osu.Game.Graphics.Containers; | |
using osu.Game.Overlays.BeatmapSet; | |
namespace osu.Game.Overlays | |
{ | |
public class BeatmapSetOverlay : WaveOverlayContainer | |
{ | |
public const float X_PADDING = 40; | |
public const float RIGHT_WIDTH = 275; | |
private readonly Header header; | |
private readonly Info info; | |
public BeatmapSetOverlay() | |
{ | |
FirstWaveColour = OsuColour.Gray(0.4f); | |
SecondWaveColour = OsuColour.Gray(0.3f); | |
ThirdWaveColour = OsuColour.Gray(0.2f); | |
FourthWaveColour = OsuColour.Gray(0.1f); | |
Anchor = Anchor.TopCentre; | |
Origin = Anchor.TopCentre; | |
RelativeSizeAxes = Axes.Both; | |
// Temporary until this overlay has a background | |
WaveWidth = 0.85f; | |
Children = new Drawable[] | |
{ | |
new Container | |
{ | |
Anchor = Anchor.TopCentre, | |
Origin = Anchor.TopCentre, | |
RelativeSizeAxes = Axes.Both, | |
Width = 0.85f, | |
Masking = true, | |
EdgeEffect = new EdgeEffectParameters | |
{ | |
Colour = Color4.Black.Opacity(0), | |
Type = EdgeEffectType.Shadow, | |
Radius = 3, | |
Offset = new Vector2(0f, 1f), | |
}, | |
Children = new Drawable[] | |
{ | |
new Box | |
{ | |
RelativeSizeAxes = Axes.Both, | |
Colour = OsuColour.Gray(0.2f) | |
}, | |
new ScrollContainer | |
{ | |
RelativeSizeAxes = Axes.Both, | |
ScrollbarVisible = false, | |
Child = new ReverseChildIDFillFlowContainer<Drawable> | |
{ | |
RelativeSizeAxes = Axes.X, | |
AutoSizeAxes = Axes.Y, | |
Direction = FillDirection.Vertical, | |
Children = new Drawable[] | |
{ | |
header = new Header(), | |
info = new Info(), | |
}, | |
}, | |
}, | |
} | |
} | |
}; | |
header.Picker.Beatmap.ValueChanged += b => info.Beatmap = b; | |
} | |
protected override void PopIn() | |
{ | |
base.PopIn(); | |
FadeEdgeEffectTo(0.25f, APPEAR_DURATION, Easing.In); | |
} | |
protected override void PopOut() | |
{ | |
base.PopOut(); | |
FadeEdgeEffectTo(0, DISAPPEAR_DURATION, Easing.Out); | |
} | |
protected override bool OnClick(InputState state) | |
{ | |
State = Visibility.Hidden; | |
return true; | |
} | |
public void ShowBeatmapSet(BeatmapSetInfo set) | |
{ | |
header.BeatmapSet = info.BeatmapSet = set; | |
Show(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment