mirror of
https://github.com/osukey/osukey.git
synced 2025-06-05 12:57:39 +09:00
Centralise fetching of overlay component titles and textures
This commit is contained in:
parent
19de6124b6
commit
dceae21bbf
@ -12,7 +12,8 @@ namespace osu.Game.Overlays.BeatmapListing
|
|||||||
public BeatmapListingTitle()
|
public BeatmapListingTitle()
|
||||||
{
|
{
|
||||||
Title = "beatmap listing";
|
Title = "beatmap listing";
|
||||||
IconTexture = "Icons/changelog";
|
Description = "Browse for new beatmaps";
|
||||||
|
IconTexture = "Icons/Hexacons/music";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,9 @@ namespace osu.Game.Overlays
|
|||||||
public const float X_PADDING = 40;
|
public const float X_PADDING = 40;
|
||||||
public const float Y_PADDING = 25;
|
public const float Y_PADDING = 25;
|
||||||
public const float RIGHT_WIDTH = 275;
|
public const float RIGHT_WIDTH = 275;
|
||||||
protected readonly Header Header;
|
|
||||||
|
//todo: should be an OverlayHeader? or maybe not?
|
||||||
|
protected new readonly Header Header;
|
||||||
|
|
||||||
[Resolved]
|
[Resolved]
|
||||||
private RulesetStore rulesets { get; set; }
|
private RulesetStore rulesets { get; set; }
|
||||||
|
@ -115,6 +115,7 @@ namespace osu.Game.Overlays.Changelog
|
|||||||
public ChangelogHeaderTitle()
|
public ChangelogHeaderTitle()
|
||||||
{
|
{
|
||||||
Title = "changelog";
|
Title = "changelog";
|
||||||
|
Description = "Track recent dev updates in the osu! ecosystem";
|
||||||
IconTexture = "Icons/changelog";
|
IconTexture = "Icons/changelog";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,10 +25,10 @@ namespace osu.Game.Overlays
|
|||||||
{
|
{
|
||||||
public readonly Bindable<APIChangelogBuild> Current = new Bindable<APIChangelogBuild>();
|
public readonly Bindable<APIChangelogBuild> Current = new Bindable<APIChangelogBuild>();
|
||||||
|
|
||||||
protected ChangelogHeader Header;
|
|
||||||
|
|
||||||
private Container<ChangelogContent> content;
|
private Container<ChangelogContent> content;
|
||||||
|
|
||||||
|
protected new ChangelogHeader Header;
|
||||||
|
|
||||||
private SampleChannel sampleBack;
|
private SampleChannel sampleBack;
|
||||||
|
|
||||||
private List<APIChangelogBuild> builds;
|
private List<APIChangelogBuild> builds;
|
||||||
@ -61,9 +61,10 @@ namespace osu.Game.Overlays
|
|||||||
Direction = FillDirection.Vertical,
|
Direction = FillDirection.Vertical,
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
Header = new ChangelogHeader
|
base.Header = Header = new ChangelogHeader
|
||||||
{
|
{
|
||||||
ListingSelected = ShowListing,
|
ListingSelected = ShowListing,
|
||||||
|
Build = { BindTarget = Current }
|
||||||
},
|
},
|
||||||
content = new Container<ChangelogContent>
|
content = new Container<ChangelogContent>
|
||||||
{
|
{
|
||||||
@ -77,8 +78,6 @@ namespace osu.Game.Overlays
|
|||||||
|
|
||||||
sampleBack = audio.Samples.Get(@"UI/generic-select-soft");
|
sampleBack = audio.Samples.Get(@"UI/generic-select-soft");
|
||||||
|
|
||||||
Header.Build.BindTo(Current);
|
|
||||||
|
|
||||||
Current.BindValueChanged(e =>
|
Current.BindValueChanged(e =>
|
||||||
{
|
{
|
||||||
if (e.NewValue != null)
|
if (e.NewValue != null)
|
||||||
|
@ -26,8 +26,12 @@ using osu.Framework.Graphics.Sprites;
|
|||||||
|
|
||||||
namespace osu.Game.Overlays
|
namespace osu.Game.Overlays
|
||||||
{
|
{
|
||||||
public class ChatOverlay : OsuFocusedOverlayContainer
|
public class ChatOverlay : OsuFocusedOverlayContainer, INamedOverlayComponent
|
||||||
{
|
{
|
||||||
|
public string IconTexture => "Icons/chat";
|
||||||
|
public string Title => "Chat";
|
||||||
|
public string Description => "Join the real-time discussion";
|
||||||
|
|
||||||
private const float textbox_height = 60;
|
private const float textbox_height = 60;
|
||||||
private const float channel_selection_min_height = 0.3f;
|
private const float channel_selection_min_height = 0.3f;
|
||||||
|
|
||||||
|
@ -12,7 +12,8 @@ namespace osu.Game.Overlays.Dashboard
|
|||||||
public DashboardTitle()
|
public DashboardTitle()
|
||||||
{
|
{
|
||||||
Title = "dashboard";
|
Title = "dashboard";
|
||||||
IconTexture = "Icons/changelog";
|
Description = "View your friends and other top level information";
|
||||||
|
IconTexture = "Icons/hexacons/dashboard";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ namespace osu.Game.Overlays
|
|||||||
Direction = FillDirection.Vertical,
|
Direction = FillDirection.Vertical,
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
header = new DashboardOverlayHeader
|
Header = header = new DashboardOverlayHeader
|
||||||
{
|
{
|
||||||
Anchor = Anchor.TopCentre,
|
Anchor = Anchor.TopCentre,
|
||||||
Origin = Anchor.TopCentre,
|
Origin = Anchor.TopCentre,
|
||||||
|
@ -12,8 +12,14 @@ using osuTK.Graphics;
|
|||||||
|
|
||||||
namespace osu.Game.Overlays
|
namespace osu.Game.Overlays
|
||||||
{
|
{
|
||||||
public abstract class FullscreenOverlay : WaveOverlayContainer, IOnlineComponent
|
public abstract class FullscreenOverlay : WaveOverlayContainer, IOnlineComponent, INamedOverlayComponent
|
||||||
{
|
{
|
||||||
|
public virtual string IconTexture => Header?.Title.IconTexture ?? string.Empty;
|
||||||
|
public virtual string Title => Header?.Title.Title ?? string.Empty;
|
||||||
|
public virtual string Description => Header?.Title.Description ?? string.Empty;
|
||||||
|
|
||||||
|
public OverlayHeader Header { get; protected set; }
|
||||||
|
|
||||||
[Resolved]
|
[Resolved]
|
||||||
protected IAPIProvider API { get; private set; }
|
protected IAPIProvider API { get; private set; }
|
||||||
|
|
||||||
|
14
osu.Game/Overlays/INamedOverlayComponent.cs
Normal file
14
osu.Game/Overlays/INamedOverlayComponent.cs
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
namespace osu.Game.Overlays
|
||||||
|
{
|
||||||
|
public interface INamedOverlayComponent
|
||||||
|
{
|
||||||
|
string IconTexture { get; }
|
||||||
|
|
||||||
|
string Title { get; }
|
||||||
|
|
||||||
|
string Description { get; }
|
||||||
|
}
|
||||||
|
}
|
@ -57,6 +57,7 @@ namespace osu.Game.Overlays.News
|
|||||||
public NewsHeaderTitle()
|
public NewsHeaderTitle()
|
||||||
{
|
{
|
||||||
Title = "news";
|
Title = "news";
|
||||||
|
Description = "Get up-to-date on community happenings";
|
||||||
IconTexture = "Icons/news";
|
IconTexture = "Icons/news";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,6 @@ namespace osu.Game.Overlays
|
|||||||
|
|
||||||
private Container content;
|
private Container content;
|
||||||
private LoadingLayer loading;
|
private LoadingLayer loading;
|
||||||
private NewsHeader header;
|
|
||||||
private OverlayScrollContainer scrollFlow;
|
private OverlayScrollContainer scrollFlow;
|
||||||
|
|
||||||
public NewsOverlay()
|
public NewsOverlay()
|
||||||
@ -48,7 +47,7 @@ namespace osu.Game.Overlays
|
|||||||
Direction = FillDirection.Vertical,
|
Direction = FillDirection.Vertical,
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
header = new NewsHeader
|
Header = new NewsHeader
|
||||||
{
|
{
|
||||||
ShowFrontPage = ShowFrontPage
|
ShowFrontPage = ShowFrontPage
|
||||||
},
|
},
|
||||||
@ -110,6 +109,8 @@ namespace osu.Game.Overlays
|
|||||||
cancellationToken?.Cancel();
|
cancellationToken?.Cancel();
|
||||||
loading.Show();
|
loading.Show();
|
||||||
|
|
||||||
|
var header = (NewsHeader)Header;
|
||||||
|
|
||||||
if (e.NewValue == null)
|
if (e.NewValue == null)
|
||||||
{
|
{
|
||||||
header.SetFrontPage();
|
header.SetFrontPage();
|
||||||
|
@ -16,8 +16,12 @@ using osu.Framework.Threading;
|
|||||||
|
|
||||||
namespace osu.Game.Overlays
|
namespace osu.Game.Overlays
|
||||||
{
|
{
|
||||||
public class NotificationOverlay : OsuFocusedOverlayContainer
|
public class NotificationOverlay : OsuFocusedOverlayContainer, INamedOverlayComponent
|
||||||
{
|
{
|
||||||
|
public string IconTexture => "Icons/Hexacons/";
|
||||||
|
public string Title => "Notifications";
|
||||||
|
public string Description => "Waiting for 'ya";
|
||||||
|
|
||||||
private const float width = 320;
|
private const float width = 320;
|
||||||
|
|
||||||
public const float TRANSITION_LENGTH = 600;
|
public const float TRANSITION_LENGTH = 600;
|
||||||
|
@ -25,8 +25,12 @@ using osuTK.Graphics;
|
|||||||
|
|
||||||
namespace osu.Game.Overlays
|
namespace osu.Game.Overlays
|
||||||
{
|
{
|
||||||
public class NowPlayingOverlay : OsuFocusedOverlayContainer
|
public class NowPlayingOverlay : OsuFocusedOverlayContainer, INamedOverlayComponent
|
||||||
{
|
{
|
||||||
|
public string IconTexture => "Icons/Hexacons/music";
|
||||||
|
public string Title => "Now playing";
|
||||||
|
public string Description => "Manage the currently playing track";
|
||||||
|
|
||||||
private const float player_height = 130;
|
private const float player_height = 130;
|
||||||
private const float transition_length = 800;
|
private const float transition_length = 800;
|
||||||
private const float progress_height = 10;
|
private const float progress_height = 10;
|
||||||
|
@ -12,6 +12,8 @@ namespace osu.Game.Overlays
|
|||||||
{
|
{
|
||||||
public abstract class OverlayHeader : Container
|
public abstract class OverlayHeader : Container
|
||||||
{
|
{
|
||||||
|
public OverlayTitle Title { get; }
|
||||||
|
|
||||||
private float contentSidePadding;
|
private float contentSidePadding;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -73,7 +75,7 @@ namespace osu.Game.Overlays
|
|||||||
AutoSizeAxes = Axes.Y,
|
AutoSizeAxes = Axes.Y,
|
||||||
Children = new[]
|
Children = new[]
|
||||||
{
|
{
|
||||||
CreateTitle().With(title =>
|
Title = CreateTitle().With(title =>
|
||||||
{
|
{
|
||||||
title.Anchor = Anchor.CentreLeft;
|
title.Anchor = Anchor.CentreLeft;
|
||||||
title.Origin = Anchor.CentreLeft;
|
title.Origin = Anchor.CentreLeft;
|
||||||
|
@ -12,19 +12,27 @@ using osuTK;
|
|||||||
|
|
||||||
namespace osu.Game.Overlays
|
namespace osu.Game.Overlays
|
||||||
{
|
{
|
||||||
public abstract class OverlayTitle : CompositeDrawable
|
public abstract class OverlayTitle : CompositeDrawable, INamedOverlayComponent
|
||||||
{
|
{
|
||||||
private readonly OsuSpriteText title;
|
private readonly OsuSpriteText titleText;
|
||||||
private readonly Container icon;
|
private readonly Container icon;
|
||||||
|
|
||||||
protected string Title
|
private string title;
|
||||||
|
|
||||||
|
public string Title
|
||||||
{
|
{
|
||||||
set => title.Text = value;
|
get => title;
|
||||||
|
protected set => titleText.Text = title = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected string IconTexture
|
public string Description { get; protected set; }
|
||||||
|
|
||||||
|
private string iconTexture;
|
||||||
|
|
||||||
|
public string IconTexture
|
||||||
{
|
{
|
||||||
set => icon.Child = new OverlayTitleIcon(value);
|
get => iconTexture;
|
||||||
|
protected set => icon.Child = new OverlayTitleIcon(iconTexture = value);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected OverlayTitle()
|
protected OverlayTitle()
|
||||||
@ -45,7 +53,7 @@ namespace osu.Game.Overlays
|
|||||||
Margin = new MarginPadding { Horizontal = 5 }, // compensates for osu-web sprites having around 5px of whitespace on each side
|
Margin = new MarginPadding { Horizontal = 5 }, // compensates for osu-web sprites having around 5px of whitespace on each side
|
||||||
Size = new Vector2(30)
|
Size = new Vector2(30)
|
||||||
},
|
},
|
||||||
title = new OsuSpriteText
|
titleText = new OsuSpriteText
|
||||||
{
|
{
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
|
@ -30,6 +30,7 @@ namespace osu.Game.Overlays.Rankings
|
|||||||
public RankingsTitle()
|
public RankingsTitle()
|
||||||
{
|
{
|
||||||
Title = "ranking";
|
Title = "ranking";
|
||||||
|
Description = "Find out who's the best right now";
|
||||||
IconTexture = "Icons/rankings";
|
IconTexture = "Icons/rankings";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ namespace osu.Game.Overlays
|
|||||||
Direction = FillDirection.Vertical,
|
Direction = FillDirection.Vertical,
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
header = new RankingsOverlayHeader
|
Header = header = new RankingsOverlayHeader
|
||||||
{
|
{
|
||||||
Anchor = Anchor.TopCentre,
|
Anchor = Anchor.TopCentre,
|
||||||
Origin = Anchor.TopCentre,
|
Origin = Anchor.TopCentre,
|
||||||
|
@ -29,7 +29,7 @@ namespace osu.Game.Overlays.SearchableList
|
|||||||
{
|
{
|
||||||
private readonly Container scrollContainer;
|
private readonly Container scrollContainer;
|
||||||
|
|
||||||
protected readonly SearchableListHeader<THeader> Header;
|
protected new readonly SearchableListHeader<THeader> Header;
|
||||||
protected readonly SearchableListFilterControl<TTab, TCategory> Filter;
|
protected readonly SearchableListFilterControl<TTab, TCategory> Filter;
|
||||||
protected readonly FillFlowContainer ScrollFlow;
|
protected readonly FillFlowContainer ScrollFlow;
|
||||||
|
|
||||||
|
@ -13,8 +13,12 @@ using osu.Framework.Bindables;
|
|||||||
|
|
||||||
namespace osu.Game.Overlays
|
namespace osu.Game.Overlays
|
||||||
{
|
{
|
||||||
public class SettingsOverlay : SettingsPanel
|
public class SettingsOverlay : SettingsPanel, INamedOverlayComponent
|
||||||
{
|
{
|
||||||
|
public string IconTexture => "Icons/Hexacons/settings";
|
||||||
|
public string Title => "Settings";
|
||||||
|
public string Description => "Change your settings";
|
||||||
|
|
||||||
protected override IEnumerable<SettingsSection> CreateSections() => new SettingsSection[]
|
protected override IEnumerable<SettingsSection> CreateSections() => new SettingsSection[]
|
||||||
{
|
{
|
||||||
new GeneralSection(),
|
new GeneralSection(),
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Game.Graphics;
|
|
||||||
using osu.Game.Input.Bindings;
|
using osu.Game.Input.Bindings;
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Toolbar
|
namespace osu.Game.Overlays.Toolbar
|
||||||
@ -11,10 +10,6 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
{
|
{
|
||||||
public ToolbarBeatmapListingButton()
|
public ToolbarBeatmapListingButton()
|
||||||
{
|
{
|
||||||
SetIcon(OsuIcon.ChevronDownCircle);
|
|
||||||
TooltipMain = "Beatmap listing";
|
|
||||||
TooltipSub = "Browse for new beatmaps";
|
|
||||||
|
|
||||||
Hotkey = GlobalAction.ToggleDirect;
|
Hotkey = GlobalAction.ToggleDirect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,17 +35,6 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
IconContainer.Show();
|
IconContainer.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetIcon(IconUsage icon) => SetIcon(new SpriteIcon
|
|
||||||
{
|
|
||||||
Size = new Vector2(20),
|
|
||||||
Icon = icon
|
|
||||||
});
|
|
||||||
|
|
||||||
public IconUsage Icon
|
|
||||||
{
|
|
||||||
set => SetIcon(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public string Text
|
public string Text
|
||||||
{
|
{
|
||||||
get => DrawableText.Text;
|
get => DrawableText.Text;
|
||||||
|
@ -2,19 +2,11 @@
|
|||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics.Sprites;
|
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Toolbar
|
namespace osu.Game.Overlays.Toolbar
|
||||||
{
|
{
|
||||||
public class ToolbarChangelogButton : ToolbarOverlayToggleButton
|
public class ToolbarChangelogButton : ToolbarOverlayToggleButton
|
||||||
{
|
{
|
||||||
public ToolbarChangelogButton()
|
|
||||||
{
|
|
||||||
SetIcon(FontAwesome.Solid.Bullhorn);
|
|
||||||
TooltipMain = "Changelog";
|
|
||||||
TooltipSub = "Track recent dev updates in the osu! ecosystem";
|
|
||||||
}
|
|
||||||
|
|
||||||
[BackgroundDependencyLoader(true)]
|
[BackgroundDependencyLoader(true)]
|
||||||
private void load(ChangelogOverlay changelog)
|
private void load(ChangelogOverlay changelog)
|
||||||
{
|
{
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics.Sprites;
|
|
||||||
using osu.Game.Input.Bindings;
|
using osu.Game.Input.Bindings;
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Toolbar
|
namespace osu.Game.Overlays.Toolbar
|
||||||
@ -11,10 +10,6 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
{
|
{
|
||||||
public ToolbarChatButton()
|
public ToolbarChatButton()
|
||||||
{
|
{
|
||||||
SetIcon(FontAwesome.Solid.Comments);
|
|
||||||
TooltipMain = "Chat";
|
|
||||||
TooltipSub = "Join the real-time discussion";
|
|
||||||
|
|
||||||
Hotkey = GlobalAction.ToggleChat;
|
Hotkey = GlobalAction.ToggleChat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
using osu.Framework.Graphics.Sprites;
|
|
||||||
using osu.Game.Input.Bindings;
|
using osu.Game.Input.Bindings;
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Toolbar
|
namespace osu.Game.Overlays.Toolbar
|
||||||
@ -10,7 +9,7 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
{
|
{
|
||||||
public ToolbarHomeButton()
|
public ToolbarHomeButton()
|
||||||
{
|
{
|
||||||
Icon = FontAwesome.Solid.Home;
|
// todo: icon
|
||||||
TooltipMain = "Home";
|
TooltipMain = "Home";
|
||||||
TooltipSub = "Return to the main menu";
|
TooltipSub = "Return to the main menu";
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Framework.Graphics.Sprites;
|
|
||||||
using osu.Game.Input.Bindings;
|
using osu.Game.Input.Bindings;
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Toolbar
|
namespace osu.Game.Overlays.Toolbar
|
||||||
@ -14,10 +13,6 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
|
|
||||||
public ToolbarMusicButton()
|
public ToolbarMusicButton()
|
||||||
{
|
{
|
||||||
Icon = FontAwesome.Solid.Music;
|
|
||||||
TooltipMain = "Now playing";
|
|
||||||
TooltipSub = "Manage the currently playing track";
|
|
||||||
|
|
||||||
Hotkey = GlobalAction.ToggleNowPlaying;
|
Hotkey = GlobalAction.ToggleNowPlaying;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,19 +2,11 @@
|
|||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics.Sprites;
|
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Toolbar
|
namespace osu.Game.Overlays.Toolbar
|
||||||
{
|
{
|
||||||
public class ToolbarNewsButton : ToolbarOverlayToggleButton
|
public class ToolbarNewsButton : ToolbarOverlayToggleButton
|
||||||
{
|
{
|
||||||
public ToolbarNewsButton()
|
|
||||||
{
|
|
||||||
Icon = FontAwesome.Solid.Newspaper;
|
|
||||||
TooltipMain = "News";
|
|
||||||
TooltipSub = "Get up-to-date on community happenings";
|
|
||||||
}
|
|
||||||
|
|
||||||
[BackgroundDependencyLoader(true)]
|
[BackgroundDependencyLoader(true)]
|
||||||
private void load(NewsOverlay news)
|
private void load(NewsOverlay news)
|
||||||
{
|
{
|
||||||
|
@ -6,7 +6,6 @@ using osu.Framework.Bindables;
|
|||||||
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.Game.Graphics;
|
using osu.Game.Graphics;
|
||||||
using osu.Game.Graphics.Sprites;
|
using osu.Game.Graphics.Sprites;
|
||||||
using osu.Game.Input.Bindings;
|
using osu.Game.Input.Bindings;
|
||||||
@ -25,10 +24,6 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
|
|
||||||
public ToolbarNotificationButton()
|
public ToolbarNotificationButton()
|
||||||
{
|
{
|
||||||
Icon = FontAwesome.Solid.Bars;
|
|
||||||
TooltipMain = "Notifications";
|
|
||||||
TooltipSub = "Waiting for 'ya";
|
|
||||||
|
|
||||||
Hotkey = GlobalAction.ToggleNotifications;
|
Hotkey = GlobalAction.ToggleNotifications;
|
||||||
|
|
||||||
Add(countDisplay = new CountCircle
|
Add(countDisplay = new CountCircle
|
||||||
|
@ -1,11 +1,14 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Bindables;
|
using osu.Framework.Bindables;
|
||||||
using osu.Framework.Extensions.Color4Extensions;
|
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.Game.Graphics;
|
using osu.Game.Graphics;
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Toolbar
|
namespace osu.Game.Overlays.Toolbar
|
||||||
@ -18,6 +21,9 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
|
|
||||||
private readonly Bindable<Visibility> overlayState = new Bindable<Visibility>();
|
private readonly Bindable<Visibility> overlayState = new Bindable<Visibility>();
|
||||||
|
|
||||||
|
[Resolved]
|
||||||
|
private TextureStore textures { get; set; }
|
||||||
|
|
||||||
public OverlayContainer StateContainer
|
public OverlayContainer StateContainer
|
||||||
{
|
{
|
||||||
get => stateContainer;
|
get => stateContainer;
|
||||||
@ -32,6 +38,16 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
Action = stateContainer.ToggleVisibility;
|
Action = stateContainer.ToggleVisibility;
|
||||||
overlayState.BindTo(stateContainer.State);
|
overlayState.BindTo(stateContainer.State);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (stateContainer is INamedOverlayComponent named)
|
||||||
|
{
|
||||||
|
TooltipMain = named.Title;
|
||||||
|
TooltipSub = named.Description;
|
||||||
|
SetIcon(new Sprite
|
||||||
|
{
|
||||||
|
Texture = textures.Get(named.IconTexture),
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,19 +2,11 @@
|
|||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics.Sprites;
|
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Toolbar
|
namespace osu.Game.Overlays.Toolbar
|
||||||
{
|
{
|
||||||
public class ToolbarRankingsButton : ToolbarOverlayToggleButton
|
public class ToolbarRankingsButton : ToolbarOverlayToggleButton
|
||||||
{
|
{
|
||||||
public ToolbarRankingsButton()
|
|
||||||
{
|
|
||||||
SetIcon(FontAwesome.Regular.ChartBar);
|
|
||||||
TooltipMain = "Ranking";
|
|
||||||
TooltipSub = "Find out who's the best right now";
|
|
||||||
}
|
|
||||||
|
|
||||||
[BackgroundDependencyLoader(true)]
|
[BackgroundDependencyLoader(true)]
|
||||||
private void load(RankingsOverlay rankings)
|
private void load(RankingsOverlay rankings)
|
||||||
{
|
{
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics.Sprites;
|
|
||||||
using osu.Game.Input.Bindings;
|
using osu.Game.Input.Bindings;
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Toolbar
|
namespace osu.Game.Overlays.Toolbar
|
||||||
@ -11,10 +10,6 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
{
|
{
|
||||||
public ToolbarSettingsButton()
|
public ToolbarSettingsButton()
|
||||||
{
|
{
|
||||||
Icon = FontAwesome.Solid.Cog;
|
|
||||||
TooltipMain = "Settings";
|
|
||||||
TooltipSub = "Change your settings";
|
|
||||||
|
|
||||||
Hotkey = GlobalAction.ToggleSettings;
|
Hotkey = GlobalAction.ToggleSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics.Sprites;
|
|
||||||
using osu.Game.Input.Bindings;
|
using osu.Game.Input.Bindings;
|
||||||
|
|
||||||
namespace osu.Game.Overlays.Toolbar
|
namespace osu.Game.Overlays.Toolbar
|
||||||
@ -11,10 +10,6 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
{
|
{
|
||||||
public ToolbarSocialButton()
|
public ToolbarSocialButton()
|
||||||
{
|
{
|
||||||
Icon = FontAwesome.Solid.Users;
|
|
||||||
TooltipMain = "Friends";
|
|
||||||
TooltipSub = "Interact with those close to you";
|
|
||||||
|
|
||||||
Hotkey = GlobalAction.ToggleSocial;
|
Hotkey = GlobalAction.ToggleSocial;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ namespace osu.Game.Overlays
|
|||||||
private ProfileSection lastSection;
|
private ProfileSection lastSection;
|
||||||
private ProfileSection[] sections;
|
private ProfileSection[] sections;
|
||||||
private GetUserRequest userReq;
|
private GetUserRequest userReq;
|
||||||
protected ProfileHeader Header;
|
protected new ProfileHeader Header;
|
||||||
private ProfileSectionsContainer sectionsContainer;
|
private ProfileSectionsContainer sectionsContainer;
|
||||||
private ProfileSectionTabControl tabs;
|
private ProfileSectionTabControl tabs;
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ namespace osu.Game.Overlays
|
|||||||
|
|
||||||
Add(sectionsContainer = new ProfileSectionsContainer
|
Add(sectionsContainer = new ProfileSectionsContainer
|
||||||
{
|
{
|
||||||
ExpandableHeader = Header = new ProfileHeader(),
|
ExpandableHeader = base.Header = Header = new ProfileHeader(),
|
||||||
FixedHeader = tabs,
|
FixedHeader = tabs,
|
||||||
HeaderBackground = new Box
|
HeaderBackground = new Box
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user