mirror of
https://github.com/osukey/osukey.git
synced 2025-06-05 12:57:39 +09:00
simplify VolumeMeter
This commit is contained in:
parent
9a29c53c5e
commit
ef63366d91
@ -1,7 +1,9 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
using JetBrains.Annotations;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Configuration;
|
using osu.Framework.Configuration;
|
||||||
|
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.Effects;
|
using osu.Framework.Graphics.Effects;
|
||||||
@ -65,7 +67,7 @@ namespace osu.Game.Overlays.Volume
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
OsuSpriteText text, maxText;
|
OsuSpriteText text;
|
||||||
CircularProgress bgProgress;
|
CircularProgress bgProgress;
|
||||||
BufferedContainer maxGlow;
|
BufferedContainer maxGlow;
|
||||||
|
|
||||||
@ -104,26 +106,17 @@ namespace osu.Game.Overlays.Volume
|
|||||||
Colour = meterColour,
|
Colour = meterColour,
|
||||||
Strength = 2
|
Strength = 2
|
||||||
}),
|
}),
|
||||||
maxGlow = new OsuSpriteText
|
maxGlow = (text = new OsuSpriteText
|
||||||
{
|
{
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
Font = "Venera",
|
Font = "Venera",
|
||||||
Text = "MAX",
|
|
||||||
TextSize = 0.16f * circleSize
|
TextSize = 0.16f * circleSize
|
||||||
}.WithEffect(new GlowEffect
|
}).WithEffect(new GlowEffect
|
||||||
{
|
{
|
||||||
Colour = meterColour,
|
Colour = Color4.Transparent,
|
||||||
PadExtent = true,
|
PadExtent = true,
|
||||||
Strength = 2,
|
})
|
||||||
}),
|
|
||||||
text = new OsuSpriteText
|
|
||||||
{
|
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.Centre,
|
|
||||||
Font = "Venera",
|
|
||||||
TextSize = 0.16f * circleSize
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -132,14 +125,14 @@ namespace osu.Game.Overlays.Volume
|
|||||||
{
|
{
|
||||||
if (Precision.DefinitelyBigger(newVolume, 0.74))
|
if (Precision.DefinitelyBigger(newVolume, 0.74))
|
||||||
{
|
{
|
||||||
text.Alpha = 0;
|
text.Text = "MAX";
|
||||||
maxGlow.Alpha = 1; //show "MAX"
|
maxGlow.EffectColour = meterColour.Opacity(2f);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (text.Text == "MAX")
|
||||||
|
maxGlow.EffectColour = Color4.Transparent;
|
||||||
text.Text = Math.Round(newVolume / 0.0075).ToString(CultureInfo.CurrentCulture);
|
text.Text = Math.Round(newVolume / 0.0075).ToString(CultureInfo.CurrentCulture);
|
||||||
text.Alpha = 1;
|
|
||||||
maxGlow.Alpha = 0;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -149,6 +142,7 @@ namespace osu.Game.Overlays.Volume
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is needed because <see cref="TransformCustom{TValue,T}"/> doesn't support <see cref="Bindable{T}"/>
|
/// This is needed because <see cref="TransformCustom{TValue,T}"/> doesn't support <see cref="Bindable{T}"/>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[UsedImplicitly]
|
||||||
private double circleBindable
|
private double circleBindable
|
||||||
{
|
{
|
||||||
get => volumeCircle.Current;
|
get => volumeCircle.Current;
|
||||||
|
@ -31,7 +31,8 @@ namespace osu.Game.Overlays
|
|||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
private void load(AudioManager audio, OsuColour colours)
|
private void load(AudioManager audio, OsuColour colours)
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both;
|
AutoSizeAxes = Axes.X;
|
||||||
|
RelativeSizeAxes = Axes.Y;
|
||||||
|
|
||||||
AddRange(new Drawable[]
|
AddRange(new Drawable[]
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user