From ca6946c7a29c44caab61e4755231f3971ac5c6bf Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 16 Feb 2017 22:44:21 +0900 Subject: [PATCH] Update Health display design. --- osu.Game/Modes/UI/HealthDisplay.cs | 45 +++++++++++++++++++++++------- osu.Game/Modes/UI/ScoreOverlay.cs | 4 +-- 2 files changed, 37 insertions(+), 12 deletions(-) diff --git a/osu.Game/Modes/UI/HealthDisplay.cs b/osu.Game/Modes/UI/HealthDisplay.cs index 1771edb1d8..27734cea15 100644 --- a/osu.Game/Modes/UI/HealthDisplay.cs +++ b/osu.Game/Modes/UI/HealthDisplay.cs @@ -1,23 +1,29 @@ // Copyright (c) 2007-2017 ppy Pty Ltd . -// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE -using OpenTK; -using OpenTK.Graphics; +using System; +using osu.Framework.Allocation; using osu.Framework.Configuration; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Transformations; -using System; +using osu.Game.Graphics; +using OpenTK; +using OpenTK.Graphics; namespace osu.Game.Modes.UI { public class HealthDisplay : Container { private Box background; - private Box fill; + private Container fill; - public BindableDouble Current = new BindableDouble() { MinValue = 0, MaxValue = 1 }; + public BindableDouble Current = new BindableDouble() + { + MinValue = 0, + MaxValue = 1 + }; public HealthDisplay() { @@ -26,19 +32,38 @@ namespace osu.Game.Modes.UI background = new Box { RelativeSizeAxes = Axes.Both, - Colour = Color4.Gray, + Colour = Color4.Black, }, - fill = new Box + fill = new Container { RelativeSizeAxes = Axes.Both, - Colour = Color4.White, Scale = new Vector2(0, 1), - }, + Masking = true, + Children = new[] + { + new Box + { + RelativeSizeAxes = Axes.Both, + } + } + }, }; Current.ValueChanged += current_ValueChanged; } + [BackgroundDependencyLoader] + private void laod(OsuColour colours) + { + fill.Colour = colours.BlueLighter; + fill.EdgeEffect = new EdgeEffect + { + Colour = colours.BlueDarker.Opacity(0.6f), + Radius = 8, + Type= EdgeEffectType.Glow + }; + } + private void current_ValueChanged(object sender, EventArgs e) { fill.ScaleTo(new Vector2((float)Current, 1), 200, EasingTypes.OutQuint); diff --git a/osu.Game/Modes/UI/ScoreOverlay.cs b/osu.Game/Modes/UI/ScoreOverlay.cs index 7268b5a3b5..7be6af5c6a 100644 --- a/osu.Game/Modes/UI/ScoreOverlay.cs +++ b/osu.Game/Modes/UI/ScoreOverlay.cs @@ -27,9 +27,9 @@ namespace osu.Game.Modes.UI protected abstract ScoreCounter CreateScoreCounter(); protected virtual HealthDisplay CreateHealthDisplay() => new HealthDisplay { - Size = new Vector2(0.5f, 20), + Size = new Vector2(1, 5), RelativeSizeAxes = Axes.X, - Padding = new MarginPadding(5) + Margin = new MarginPadding { Top = 20 } }; public virtual void OnHit(HitObject h)