UI/Vitals/AmmoPickupFeed.razor
@using Sandbox;
@using Sandbox.UI;
@namespace Sandbox
@inherits Panel
<root>
@if ( Hud.IsVisible( HudElement.AmmoPickups ) )
{
@foreach ( var notice in VisibleNotices() )
{
<AmmoPickupRow Notice=@notice @key="notice" />
}
}
</root>
@code
{
IEnumerable<PlayerInventory.AmmoPickupNotice> VisibleNotices()
{
var inventory = Player.FindLocalPlayer()?.GetComponent<PlayerInventory>();
if ( !inventory.IsValid() ) return Enumerable.Empty<PlayerInventory.AmmoPickupNotice>();
return inventory.AmmoPickupNotices.Where( notice => notice.ExpiresAt > RealTime.Now );
}
protected override int BuildHash()
{
var hash = new HashCode();
hash.Add( Hud.IsVisible( HudElement.AmmoPickups ) );
foreach ( var notice in VisibleNotices() )
{
hash.Add( notice );
hash.Add( notice.Amount );
}
return hash.ToHashCode();
}
}