Revert to old cooldown and unify with DoAfter (#2469)

Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
This commit is contained in:
Tomeno
2020-11-02 11:32:03 +01:00
committed by GitHub
parent b5d48e4db0
commit 015539dcdc
2 changed files with 14 additions and 26 deletions

View File

@@ -56,23 +56,20 @@ namespace Content.Client.GameObjects.EntitySystems.DoAfter
/// Is the cancellation bar red?
/// </summary>
private bool _flash = true;
/// <summary>
/// Last time we swapped the flash.
/// </summary>
private TimeSpan _lastFlash;
/// <summary>
/// How long each cancellation bar flash lasts in seconds.
/// </summary>
private const float FlashTime = 0.125f;
private const int XPixelDiff = 20 * DoAfterBarScale;
public const byte DoAfterBarScale = 2;
private static readonly Color StartColor = new Color(0.8f, 0.0f, 0.2f); // red
private static readonly Color EndColor = new Color(0.92f, 0.77f, 0.34f); // yellow
private static readonly Color CompletedColor = new Color(0.0f, 0.8f, 0.27f); // green
public DoAfterBar()
{
@@ -108,28 +105,25 @@ namespace Content.Client.GameObjects.EntitySystems.DoAfter
}
color = new Color(1.0f, 0.0f, 0.0f, _flash ? 1.0f : 0.0f);
}
}
else if (Ratio >= 1.0f)
{
color = CompletedColor;
color = new Color(0f, 1f, 0f);
}
else
{
// lerp
color = new Color(
StartColor.R + (EndColor.R - StartColor.R) * Ratio,
StartColor.G + (EndColor.G - StartColor.G) * Ratio,
StartColor.B + (EndColor.B - StartColor.B) * Ratio,
StartColor.A);
var hue = (5f / 18f) * Ratio;
color = Color.FromHsv((hue, 1f, 0.75f, 1f));
}
handle.UseShader(_shader);
// If you want to make this less hard-coded be my guest
var leftOffset = 2 * DoAfterBarScale;
var box = new UIBox2i(
leftOffset,
leftOffset,
-2 + 2 * DoAfterBarScale,
leftOffset + (int) (XPixelDiff * Ratio),
leftOffset + (int) (XPixelDiff * Ratio),
-2);
handle.DrawRect(box, color);
}