UI/HurtEffectView.razor
@using Sandbox
@using Sandbox.UI
@using System
@namespace Prototype
@inherits Panel
<root class="hurt-overlay" style="@FormattableString.Invariant($"opacity:{Visibility};")">
    <div class="hurt-edge hurt-top" style="@Edge(180)"></div>
    <div class="hurt-edge hurt-bottom" style="@Edge(0)"></div>
    <div class="hurt-edge hurt-left" style="@Edge(90)"></div>
    <div class="hurt-edge hurt-right" style="@Edge(270)"></div>
</root>
@code {
    public float Hue { get; set; } = 358f;
    public float Visibility { get; set; } = 1f;
    private string Edge(int angle) => $"background-image:linear-gradient({angle}deg,{HudAppearance.FeedbackColor(Hue)},rgba(0,0,0,0));";
    protected override int BuildHash() => HashCode.Combine(Hue, Visibility);
}