diff --git a/osu.Android.props b/osu.Android.props
index 0563e5319d..ff04c7f120 100644
--- a/osu.Android.props
+++ b/osu.Android.props
@@ -52,6 +52,6 @@
-
+
diff --git a/osu.Game/Beatmaps/BeatmapManager_BeatmapOnlineLookupQueue.cs b/osu.Game/Beatmaps/BeatmapManager_BeatmapOnlineLookupQueue.cs
index d47d37806e..3106d1143e 100644
--- a/osu.Game/Beatmaps/BeatmapManager_BeatmapOnlineLookupQueue.cs
+++ b/osu.Game/Beatmaps/BeatmapManager_BeatmapOnlineLookupQueue.cs
@@ -183,6 +183,7 @@ namespace osu.Game.Beatmaps
public void Dispose()
{
cacheDownloadRequest?.Dispose();
+ updateScheduler?.Dispose();
}
[Serializable]
diff --git a/osu.Game/Graphics/UserInterface/OsuTabControl.cs b/osu.Game/Graphics/UserInterface/OsuTabControl.cs
index c2feca171b..61501b0cd8 100644
--- a/osu.Game/Graphics/UserInterface/OsuTabControl.cs
+++ b/osu.Game/Graphics/UserInterface/OsuTabControl.cs
@@ -23,6 +23,8 @@ namespace osu.Game.Graphics.UserInterface
{
private Color4 accentColour;
+ public const float HORIZONTAL_SPACING = 10;
+
public virtual Color4 AccentColour
{
get => accentColour;
@@ -54,7 +56,7 @@ namespace osu.Game.Graphics.UserInterface
public OsuTabControl()
{
- TabContainer.Spacing = new Vector2(10f, 0f);
+ TabContainer.Spacing = new Vector2(HORIZONTAL_SPACING, 0f);
AddInternal(strip = new Box
{
diff --git a/osu.Game/Overlays/Toolbar/Toolbar.cs b/osu.Game/Overlays/Toolbar/Toolbar.cs
index 1b748cb672..de08b79f57 100644
--- a/osu.Game/Overlays/Toolbar/Toolbar.cs
+++ b/osu.Game/Overlays/Toolbar/Toolbar.cs
@@ -28,9 +28,6 @@ namespace osu.Game.Overlays.Toolbar
private const double transition_time = 500;
- private const float alpha_hovering = 0.8f;
- private const float alpha_normal = 0.6f;
-
private readonly Bindable overlayActivationMode = new Bindable(OverlayActivation.All);
// Toolbar components like RulesetSelector should receive keyboard input events even when the toolbar is hidden.
@@ -103,7 +100,6 @@ namespace osu.Game.Overlays.Toolbar
public class ToolbarBackground : Container
{
- private readonly Box solidBackground;
private readonly Box gradientBackground;
public ToolbarBackground()
@@ -111,11 +107,10 @@ namespace osu.Game.Overlays.Toolbar
RelativeSizeAxes = Axes.Both;
Children = new Drawable[]
{
- solidBackground = new Box
+ new Box
{
RelativeSizeAxes = Axes.Both,
Colour = OsuColour.Gray(0.1f),
- Alpha = alpha_normal,
},
gradientBackground = new Box
{
@@ -131,14 +126,12 @@ namespace osu.Game.Overlays.Toolbar
protected override bool OnHover(HoverEvent e)
{
- solidBackground.FadeTo(alpha_hovering, transition_time, Easing.OutQuint);
gradientBackground.FadeIn(transition_time, Easing.OutQuint);
return true;
}
protected override void OnHoverLost(HoverLostEvent e)
{
- solidBackground.FadeTo(alpha_normal, transition_time, Easing.OutQuint);
gradientBackground.FadeOut(transition_time, Easing.OutQuint);
}
}
@@ -146,7 +139,7 @@ namespace osu.Game.Overlays.Toolbar
protected override void PopIn()
{
this.MoveToY(0, transition_time, Easing.OutQuint);
- this.FadeIn(transition_time / 2, Easing.OutQuint);
+ this.FadeIn(transition_time / 4, Easing.OutQuint);
}
protected override void PopOut()
@@ -154,7 +147,7 @@ namespace osu.Game.Overlays.Toolbar
userButton.StateContainer?.Hide();
this.MoveToY(-DrawSize.Y, transition_time, Easing.OutQuint);
- this.FadeOut(transition_time);
+ this.FadeOut(transition_time, Easing.InQuint);
}
}
}
diff --git a/osu.Game/Screens/Menu/Disclaimer.cs b/osu.Game/Screens/Menu/Disclaimer.cs
index 35091028ae..986de1edf0 100644
--- a/osu.Game/Screens/Menu/Disclaimer.cs
+++ b/osu.Game/Screens/Menu/Disclaimer.cs
@@ -51,7 +51,7 @@ namespace osu.Game.Screens.Menu
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
- Icon = FontAwesome.Solid.Poo,
+ Icon = FontAwesome.Solid.Flask,
Size = new Vector2(icon_size),
Y = icon_y,
},
diff --git a/osu.Game/Screens/Multi/Header.cs b/osu.Game/Screens/Multi/Header.cs
index e27fa154af..653cb3791a 100644
--- a/osu.Game/Screens/Multi/Header.cs
+++ b/osu.Game/Screens/Multi/Header.cs
@@ -95,22 +95,22 @@ namespace osu.Game.Screens.Multi
{
new OsuSpriteText
{
- Anchor = Anchor.Centre,
- Origin = Anchor.Centre,
+ Anchor = Anchor.CentreLeft,
+ Origin = Anchor.CentreLeft,
Font = OsuFont.GetFont(size: 24),
Text = "Multiplayer"
},
dot = new OsuSpriteText
{
- Anchor = Anchor.Centre,
- Origin = Anchor.Centre,
+ Anchor = Anchor.CentreLeft,
+ Origin = Anchor.CentreLeft,
Font = OsuFont.GetFont(size: 24),
Text = "ยท"
},
pageTitle = new OsuSpriteText
{
- Anchor = Anchor.Centre,
- Origin = Anchor.Centre,
+ Anchor = Anchor.CentreLeft,
+ Origin = Anchor.CentreLeft,
Font = OsuFont.GetFont(size: 24),
Text = "Lounge"
}
diff --git a/osu.Game/Screens/Select/FilterControl.cs b/osu.Game/Screens/Select/FilterControl.cs
index d613ce649a..e111ec4b15 100644
--- a/osu.Game/Screens/Select/FilterControl.cs
+++ b/osu.Game/Screens/Select/FilterControl.cs
@@ -2,21 +2,20 @@
// See the LICENCE file in the repository root for full licence text.
using System;
-using osuTK;
-using osuTK.Graphics;
using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
-using osu.Framework.Graphics.UserInterface;
-using osu.Game.Graphics;
-using osu.Game.Graphics.UserInterface;
-using osu.Game.Screens.Select.Filter;
-using Container = osu.Framework.Graphics.Containers.Container;
using osu.Framework.Graphics.Shapes;
-using osu.Game.Configuration;
-using osu.Game.Rulesets;
using osu.Framework.Input.Events;
+using osu.Game.Configuration;
+using osu.Game.Graphics;
+using osu.Game.Graphics.Sprites;
+using osu.Game.Graphics.UserInterface;
+using osu.Game.Rulesets;
+using osu.Game.Screens.Select.Filter;
+using osuTK;
+using osuTK.Graphics;
namespace osu.Game.Screens.Select
{
@@ -26,9 +25,7 @@ namespace osu.Game.Screens.Select
public Action FilterChanged;
- private readonly OsuTabControl sortTabs;
-
- private readonly TabControl groupTabs;
+ private OsuTabControl sortTabs;
private Bindable sortMode;
@@ -56,19 +53,39 @@ namespace osu.Game.Screens.Select
return criteria;
}
- private readonly SeekLimitedSearchTextBox searchTextBox;
+ private SeekLimitedSearchTextBox searchTextBox;
public override bool ReceivePositionalInputAt(Vector2 screenSpacePos) =>
- base.ReceivePositionalInputAt(screenSpacePos) || groupTabs.ReceivePositionalInputAt(screenSpacePos) || sortTabs.ReceivePositionalInputAt(screenSpacePos);
+ base.ReceivePositionalInputAt(screenSpacePos) || sortTabs.ReceivePositionalInputAt(screenSpacePos);
- public FilterControl()
+ [BackgroundDependencyLoader(permitNulls: true)]
+ private void load(OsuColour colours, IBindable parentRuleset, OsuConfigManager config)
{
+ config.BindWith(OsuSetting.ShowConvertedBeatmaps, showConverted);
+ showConverted.ValueChanged += _ => updateCriteria();
+
+ config.BindWith(OsuSetting.DisplayStarsMinimum, minimumStars);
+ minimumStars.ValueChanged += _ => updateCriteria();
+
+ config.BindWith(OsuSetting.DisplayStarsMaximum, maximumStars);
+ maximumStars.ValueChanged += _ => updateCriteria();
+
+ ruleset.BindTo(parentRuleset);
+ ruleset.BindValueChanged(_ => updateCriteria());
+
+ sortMode = config.GetBindable(OsuSetting.SongSelectSortingMode);
+ groupMode = config.GetBindable(OsuSetting.SongSelectGroupingMode);
+
+ groupMode.BindValueChanged(_ => updateCriteria());
+ sortMode.BindValueChanged(_ => updateCriteria());
+
Children = new Drawable[]
{
- Background = new Box
+ new Box
{
Colour = Color4.Black,
Alpha = 0.8f,
+ Width = 2,
RelativeSizeAxes = Axes.Both,
},
new Container
@@ -96,33 +113,35 @@ namespace osu.Game.Screens.Select
Direction = FillDirection.Horizontal,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
+ Spacing = new Vector2(OsuTabControl.HORIZONTAL_SPACING, 0),
Children = new Drawable[]
{
- groupTabs = new OsuTabControl
+ new OsuTabControlCheckbox
{
- RelativeSizeAxes = Axes.X,
- Height = 24,
- Width = 0.5f,
- AutoSort = true,
+ Text = "Show converted",
+ Current = config.GetBindable(OsuSetting.ShowConvertedBeatmaps),
+ Anchor = Anchor.BottomRight,
+ Origin = Anchor.BottomRight,
},
- //spriteText = new OsuSpriteText
- //{
- // Font = @"Exo2.0-Bold",
- // Text = "Sort results by",
- // Size = 14,
- // Margin = new MarginPadding
- // {
- // Top = 5,
- // Bottom = 5
- // },
- //},
sortTabs = new OsuTabControl
{
RelativeSizeAxes = Axes.X,
Width = 0.5f,
Height = 24,
AutoSort = true,
- }
+ Anchor = Anchor.BottomRight,
+ Origin = Anchor.BottomRight,
+ AccentColour = colours.GreenLight,
+ Current = { BindTarget = sortMode }
+ },
+ new OsuSpriteText
+ {
+ Text = "Sort by",
+ Font = OsuFont.GetFont(size: 14),
+ Margin = new MarginPadding(5),
+ Anchor = Anchor.BottomRight,
+ Origin = Anchor.BottomRight,
+ },
}
},
}
@@ -131,8 +150,7 @@ namespace osu.Game.Screens.Select
searchTextBox.Current.ValueChanged += _ => FilterChanged?.Invoke(CreateCriteria());
- groupTabs.PinItem(GroupMode.All);
- groupTabs.PinItem(GroupMode.RecentlyPlayed);
+ updateCriteria();
}
public void Deactivate()
@@ -156,37 +174,6 @@ namespace osu.Game.Screens.Select
private readonly Bindable minimumStars = new BindableDouble();
private readonly Bindable maximumStars = new BindableDouble();
- public readonly Box Background;
-
- [BackgroundDependencyLoader(permitNulls: true)]
- private void load(OsuColour colours, IBindable parentRuleset, OsuConfigManager config)
- {
- sortTabs.AccentColour = colours.GreenLight;
-
- config.BindWith(OsuSetting.ShowConvertedBeatmaps, showConverted);
- showConverted.ValueChanged += _ => updateCriteria();
-
- config.BindWith(OsuSetting.DisplayStarsMinimum, minimumStars);
- minimumStars.ValueChanged += _ => updateCriteria();
-
- config.BindWith(OsuSetting.DisplayStarsMaximum, maximumStars);
- maximumStars.ValueChanged += _ => updateCriteria();
-
- ruleset.BindTo(parentRuleset);
- ruleset.BindValueChanged(_ => updateCriteria());
-
- sortMode = config.GetBindable(OsuSetting.SongSelectSortingMode);
- groupMode = config.GetBindable(OsuSetting.SongSelectGroupingMode);
-
- sortTabs.Current.BindTo(sortMode);
- groupTabs.Current.BindTo(groupMode);
-
- groupMode.BindValueChanged(_ => updateCriteria());
- sortMode.BindValueChanged(_ => updateCriteria());
-
- updateCriteria();
- }
-
private void updateCriteria() => FilterChanged?.Invoke(CreateCriteria());
protected override bool OnClick(ClickEvent e) => true;
diff --git a/osu.Game/Screens/Select/SongSelect.cs b/osu.Game/Screens/Select/SongSelect.cs
index d613b0ae8d..e3705b15fa 100644
--- a/osu.Game/Screens/Select/SongSelect.cs
+++ b/osu.Game/Screens/Select/SongSelect.cs
@@ -173,7 +173,6 @@ namespace osu.Game.Screens.Select
RelativeSizeAxes = Axes.X,
Height = FilterControl.HEIGHT,
FilterChanged = ApplyFilterToCarousel,
- Background = { Width = 2 },
},
new GridContainer // used for max width implementation
{
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index 4e6de77e86..e4753e7ee9 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -24,7 +24,7 @@
-
+
diff --git a/osu.iOS.props b/osu.iOS.props
index c31e28638f..91fa003604 100644
--- a/osu.iOS.props
+++ b/osu.iOS.props
@@ -70,7 +70,7 @@
-
+
@@ -80,7 +80,7 @@
-
+