UI/Notifications/NotificationEntry.razor
@using Sandbox;
@using Sandbox.UI;
@inherits Panel
@namespace HC3
<root class="window-container">
<row>
@if (!string.IsNullOrEmpty(Icon))
{
<i>@Icon</i>
}
<label>@Message</label>
</row>
<div class="progress">
<div class="fill" style="width: @(Progress * 100)%;"></div>
</div>
</root>
@code
{
public string Icon { get; set; } = string.Empty;
public string Message { get; set; } = string.Empty;
public float Duration { get; set; } = 5f;
private float Progress => 1f - (realTimeSince / Duration);
private RealTimeSince realTimeSince = 0f;
public override void Tick()
{
base.Tick();
if (realTimeSince >= Duration)
{
Delete();
return;
}
}
protected override int BuildHash() => System.HashCode.Combine(Progress);
}