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);
}