mirror of
https://github.com/ppy/osu.git
synced 2024-11-11 11:37:28 +08:00
Update match score display
This commit is contained in:
parent
3807c449bd
commit
9bd837da41
@ -21,6 +21,7 @@ namespace osu.Game.Tournament.Tests.Screens
|
|||||||
typeof(TeamScoreDisplay),
|
typeof(TeamScoreDisplay),
|
||||||
typeof(TeamDisplay),
|
typeof(TeamDisplay),
|
||||||
typeof(MatchHeader),
|
typeof(MatchHeader),
|
||||||
|
typeof(MatchScoreDisplay),
|
||||||
};
|
};
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
|
@ -11,16 +11,12 @@ using osu.Game.Graphics;
|
|||||||
using osu.Game.Graphics.UserInterface;
|
using osu.Game.Graphics.UserInterface;
|
||||||
using osu.Game.Tournament.IPC;
|
using osu.Game.Tournament.IPC;
|
||||||
using osu.Game.Tournament.Models;
|
using osu.Game.Tournament.Models;
|
||||||
using osuTK.Graphics;
|
|
||||||
|
|
||||||
namespace osu.Game.Tournament.Screens.Gameplay.Components
|
namespace osu.Game.Tournament.Screens.Gameplay.Components
|
||||||
{
|
{
|
||||||
public class MatchScoreDisplay : CompositeDrawable
|
public class MatchScoreDisplay : CompositeDrawable
|
||||||
{
|
{
|
||||||
private readonly Color4 red = new Color4(186, 0, 18, 255);
|
private const float bar_height = 18;
|
||||||
private readonly Color4 blue = new Color4(17, 136, 170, 255);
|
|
||||||
|
|
||||||
private const float bar_height = 20;
|
|
||||||
|
|
||||||
private readonly BindableInt score1 = new BindableInt();
|
private readonly BindableInt score1 = new BindableInt();
|
||||||
private readonly BindableInt score2 = new BindableInt();
|
private readonly BindableInt score2 = new BindableInt();
|
||||||
@ -28,45 +24,63 @@ namespace osu.Game.Tournament.Screens.Gameplay.Components
|
|||||||
private readonly MatchScoreCounter score1Text;
|
private readonly MatchScoreCounter score1Text;
|
||||||
private readonly MatchScoreCounter score2Text;
|
private readonly MatchScoreCounter score2Text;
|
||||||
|
|
||||||
private readonly Circle score1Bar;
|
private readonly Drawable score1Bar;
|
||||||
private readonly Circle score2Bar;
|
private readonly Drawable score2Bar;
|
||||||
|
|
||||||
public MatchScoreDisplay()
|
public MatchScoreDisplay()
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.X;
|
RelativeSizeAxes = Axes.X;
|
||||||
AutoSizeAxes = Axes.Y;
|
AutoSizeAxes = Axes.Y;
|
||||||
|
|
||||||
InternalChildren = new Drawable[]
|
InternalChildren = new[]
|
||||||
{
|
{
|
||||||
score1Bar = new Circle
|
new Box
|
||||||
|
{
|
||||||
|
Name = "top bar red (static)",
|
||||||
|
RelativeSizeAxes = Axes.X,
|
||||||
|
Height = bar_height / 4,
|
||||||
|
Width = 0.5f,
|
||||||
|
Colour = TournamentGame.COLOUR_RED,
|
||||||
|
Anchor = Anchor.TopCentre,
|
||||||
|
Origin = Anchor.TopRight
|
||||||
|
},
|
||||||
|
new Box
|
||||||
|
{
|
||||||
|
Name = "top bar blue (static)",
|
||||||
|
RelativeSizeAxes = Axes.X,
|
||||||
|
Height = bar_height / 4,
|
||||||
|
Width = 0.5f,
|
||||||
|
Colour = TournamentGame.COLOUR_BLUE,
|
||||||
|
Anchor = Anchor.TopCentre,
|
||||||
|
Origin = Anchor.TopLeft
|
||||||
|
},
|
||||||
|
score1Bar = new Box
|
||||||
{
|
{
|
||||||
Name = "top bar red",
|
Name = "top bar red",
|
||||||
RelativeSizeAxes = Axes.X,
|
RelativeSizeAxes = Axes.X,
|
||||||
Height = bar_height,
|
Height = bar_height,
|
||||||
Width = 0,
|
Width = 0,
|
||||||
Colour = red,
|
Colour = TournamentGame.COLOUR_RED,
|
||||||
Anchor = Anchor.TopCentre,
|
Anchor = Anchor.TopCentre,
|
||||||
Origin = Anchor.TopRight
|
Origin = Anchor.TopRight
|
||||||
},
|
},
|
||||||
score1Text = new MatchScoreCounter
|
score1Text = new MatchScoreCounter
|
||||||
{
|
{
|
||||||
Colour = red,
|
|
||||||
Anchor = Anchor.TopCentre,
|
Anchor = Anchor.TopCentre,
|
||||||
Origin = Anchor.TopCentre
|
Origin = Anchor.TopCentre
|
||||||
},
|
},
|
||||||
score2Bar = new Circle
|
score2Bar = new Box
|
||||||
{
|
{
|
||||||
Name = "top bar blue",
|
Name = "top bar blue",
|
||||||
RelativeSizeAxes = Axes.X,
|
RelativeSizeAxes = Axes.X,
|
||||||
Height = bar_height,
|
Height = bar_height,
|
||||||
Width = 0,
|
Width = 0,
|
||||||
Colour = blue,
|
Colour = TournamentGame.COLOUR_BLUE,
|
||||||
Anchor = Anchor.TopCentre,
|
Anchor = Anchor.TopCentre,
|
||||||
Origin = Anchor.TopLeft
|
Origin = Anchor.TopLeft
|
||||||
},
|
},
|
||||||
score2Text = new MatchScoreCounter
|
score2Text = new MatchScoreCounter
|
||||||
{
|
{
|
||||||
Colour = blue,
|
|
||||||
Anchor = Anchor.TopCentre,
|
Anchor = Anchor.TopCentre,
|
||||||
Origin = Anchor.TopCentre
|
Origin = Anchor.TopCentre
|
||||||
},
|
},
|
||||||
@ -103,10 +117,9 @@ namespace osu.Game.Tournament.Screens.Gameplay.Components
|
|||||||
winningBar.ResizeWidthTo(Math.Min(0.4f, MathF.Pow(diff / 1500000f, 0.5f) / 2), 400, Easing.OutQuint);
|
winningBar.ResizeWidthTo(Math.Min(0.4f, MathF.Pow(diff / 1500000f, 0.5f) / 2), 400, Easing.OutQuint);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void Update()
|
protected override void UpdateAfterChildren()
|
||||||
{
|
{
|
||||||
base.Update();
|
base.UpdateAfterChildren();
|
||||||
|
|
||||||
score1Text.X = -Math.Max(5 + score1Text.DrawWidth / 2, score1Bar.DrawWidth);
|
score1Text.X = -Math.Max(5 + score1Text.DrawWidth / 2, score1Bar.DrawWidth);
|
||||||
score2Text.X = Math.Max(5 + score2Text.DrawWidth / 2, score2Bar.DrawWidth);
|
score2Text.X = Math.Max(5 + score2Text.DrawWidth / 2, score2Bar.DrawWidth);
|
||||||
}
|
}
|
||||||
@ -115,7 +128,7 @@ namespace osu.Game.Tournament.Screens.Gameplay.Components
|
|||||||
{
|
{
|
||||||
public MatchScoreCounter()
|
public MatchScoreCounter()
|
||||||
{
|
{
|
||||||
Margin = new MarginPadding { Top = bar_height + 5, Horizontal = 10 };
|
Margin = new MarginPadding { Top = bar_height, Horizontal = 10 };
|
||||||
|
|
||||||
Winning = false;
|
Winning = false;
|
||||||
}
|
}
|
||||||
@ -123,8 +136,8 @@ namespace osu.Game.Tournament.Screens.Gameplay.Components
|
|||||||
public bool Winning
|
public bool Winning
|
||||||
{
|
{
|
||||||
set => DisplayedCountSpriteText.Font = value
|
set => DisplayedCountSpriteText.Font = value
|
||||||
? OsuFont.Torus.With(weight: FontWeight.Regular, size: 60)
|
? OsuFont.Torus.With(weight: FontWeight.Bold, size: 50)
|
||||||
: OsuFont.Torus.With(weight: FontWeight.Light, size: 40);
|
: OsuFont.Torus.With(weight: FontWeight.Regular, size: 40);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ namespace osu.Game.Tournament.Screens.Gameplay.Components
|
|||||||
|
|
||||||
public class LightSquare : Star
|
public class LightSquare : Star
|
||||||
{
|
{
|
||||||
private Box box;
|
private readonly Box box;
|
||||||
|
|
||||||
public LightSquare()
|
public LightSquare()
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,6 @@ using osu.Game.Tournament.Models;
|
|||||||
using osu.Game.Tournament.Screens.Gameplay.Components;
|
using osu.Game.Tournament.Screens.Gameplay.Components;
|
||||||
using osu.Game.Tournament.Screens.MapPool;
|
using osu.Game.Tournament.Screens.MapPool;
|
||||||
using osu.Game.Tournament.Screens.TeamWin;
|
using osu.Game.Tournament.Screens.TeamWin;
|
||||||
using osuTK;
|
|
||||||
using osuTK.Graphics;
|
using osuTK.Graphics;
|
||||||
|
|
||||||
namespace osu.Game.Tournament.Screens.Gameplay
|
namespace osu.Game.Tournament.Screens.Gameplay
|
||||||
@ -72,10 +71,9 @@ namespace osu.Game.Tournament.Screens.Gameplay
|
|||||||
},
|
},
|
||||||
scoreDisplay = new MatchScoreDisplay
|
scoreDisplay = new MatchScoreDisplay
|
||||||
{
|
{
|
||||||
Y = -60,
|
Y = -147,
|
||||||
Scale = new Vector2(0.8f),
|
|
||||||
Anchor = Anchor.BottomCentre,
|
Anchor = Anchor.BottomCentre,
|
||||||
Origin = Anchor.BottomCentre,
|
Origin = Anchor.TopCentre,
|
||||||
},
|
},
|
||||||
new ControlPanel
|
new ControlPanel
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user