UI/Components/NeedsBar.razor
@using System;
@using Sandbox.UI;

@inherits Panel
@namespace HC3.UI

<root>
	<img class="icon" [email protected]?.ResourcePath />
	<div class="bar-container">
		<div class="bar" style="width: @(Math.Floor(Need.Level * 100.0f))%; background-color: @GetColor().Hex;"></div>
		<div class="bar-overlay" />
	</div>
</root>

@code
{
	[Parameter]
	public Need Need { get; set; }

	private Color GetColor()
	{
		return Color.Lerp( TycoonColor.Lime, TycoonColor.Scarlet, Need.Level );
	}

	protected override void OnAfterTreeRender(bool firstTime)
	{
		base.OnAfterTreeRender(firstTime);

		Tooltip = $"{Need.Template.DisplayName} ({Math.Floor(Need.Level * 100.0f)}%)";
	}

	protected override int BuildHash()
	{
		return HashCode.Combine( Need, Need.Level );
	}
}