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