make ScreenTitle abstract and properties protected

This commit is contained in:
jorolf
2019-03-11 19:10:37 +01:00
parent f3ab5070b9
commit f91e4a1fdd
2 changed files with 14 additions and 9 deletions

View File

@ -9,24 +9,24 @@ using osuTK.Graphics;
namespace osu.Game.Graphics.UserInterface namespace osu.Game.Graphics.UserInterface
{ {
public class ScreenTitle : CompositeDrawable, IHasAccentColour public abstract class ScreenTitle : CompositeDrawable, IHasAccentColour
{ {
private readonly SpriteIcon iconSprite; private readonly SpriteIcon iconSprite;
private readonly OsuSpriteText titleText, pageText; private readonly OsuSpriteText titleText, pageText;
public FontAwesome Icon protected FontAwesome Icon
{ {
get => iconSprite.Icon; get => iconSprite.Icon;
set => iconSprite.Icon = value; set => iconSprite.Icon = value;
} }
public string Title protected string Title
{ {
get => titleText.Text; get => titleText.Text;
set => titleText.Text = value; set => titleText.Text = value;
} }
public string Section protected string Section
{ {
get => pageText.Text; get => pageText.Text;
set => pageText.Text = value; set => pageText.Text = value;
@ -38,7 +38,7 @@ namespace osu.Game.Graphics.UserInterface
set => pageText.Colour = value; set => pageText.Colour = value;
} }
public ScreenTitle() protected ScreenTitle()
{ {
AutoSizeAxes = Axes.Both; AutoSizeAxes = Axes.Both;

View File

@ -21,7 +21,7 @@ namespace osu.Game.Screens.Multi
public Header(ScreenStack stack) public Header(ScreenStack stack)
{ {
ScreenTitle title; MultiHeaderTitle title;
RelativeSizeAxes = Axes.X; RelativeSizeAxes = Axes.X;
Height = HEIGHT; Height = HEIGHT;
@ -42,8 +42,6 @@ namespace osu.Game.Screens.Multi
{ {
Anchor = Anchor.CentreLeft, Anchor = Anchor.CentreLeft,
Origin = Anchor.BottomLeft, Origin = Anchor.BottomLeft,
Icon = FontAwesome.fa_osu_multi,
Title = "multiplayer",
}, },
breadcrumbs = new HeaderBreadcrumbControl(stack) breadcrumbs = new HeaderBreadcrumbControl(stack)
{ {
@ -58,7 +56,7 @@ namespace osu.Game.Screens.Multi
breadcrumbs.Current.ValueChanged += screen => breadcrumbs.Current.ValueChanged += screen =>
{ {
if (screen.NewValue is IMultiplayerSubScreen multiScreen) if (screen.NewValue is IMultiplayerSubScreen multiScreen)
title.Section = multiScreen.ShortTitle.ToLowerInvariant(); title.Screen = multiScreen;
}; };
breadcrumbs.Current.TriggerChange(); breadcrumbs.Current.TriggerChange();
@ -72,9 +70,16 @@ namespace osu.Game.Screens.Multi
private class MultiHeaderTitle : ScreenTitle private class MultiHeaderTitle : ScreenTitle
{ {
public IMultiplayerSubScreen Screen
{
set => Section = value.ShortTitle.ToLowerInvariant();
}
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load(OsuColour colours) private void load(OsuColour colours)
{ {
Title = "multiplayer";
Icon = FontAwesome.fa_osu_multi;
AccentColour = colours.Yellow; AccentColour = colours.Yellow;
} }
} }