ui/PickupSprite.razor
@using System
@using Sandbox
@using Sandbox.UI
@namespace Facepunch.BombRoyale
@attribute [StyleSheet( "PickupSprite.razor.scss" )]
@inherits PanelComponent

<root>
	<div @ref="IconPanel" class="icon"></div>
</root>

@code
{
	public Pickup Pickup { get; set; }
	
	private Panel IconPanel { get; set; }

	protected override void OnTreeBuilt()
	{
		if ( Pickup.IsValid() )
		{
			IconPanel.Style.SetBackgroundImage( Pickup.Icon );
		}
		
		base.OnTreeBuilt();
	}

	protected override void OnFixedUpdate()
	{
		if ( Pickup.IsValid() )
		{
			var transform = Transform.Local;
			WorldPosition = Vector3.Up * (4f + (MathF.Sin( Time.Now * 4f ) * 4f));
			transform.Scale = 0.9f + (0.1f + (MathF.Cos( Time.Now * 4f ) * 0.1f));
			Transform.Local = transform;
		}
		
		base.OnFixedUpdate();
	}
}