ui/BuyPhasePanel.razor
@using Sandbox;
@using Sandbox.UI;
@inherits Panel
@attribute [StyleSheet("BuyPhasePanel.razor.scss")]

@{
	int numItemsToShow = Manager.Instance.NumRelicsToShow + (int)Manager.Instance.Stats[StatType.ShopExtraItems];
}

<root style="width:@(numItemsToShow <= 6 ? 60f : (numItemsToShow <= 12 ? 80f : 90f))%;">
		<div class="title">Item Shop</div>

		<div class="item_container">
			@for(int i = 0; i < Math.Min(numItemsToShow, Manager.Instance.BuyPhaseOfferedRelics.Count); i++)
			{
				var relicType = Manager.Instance.BuyPhaseOfferedRelics[i];
				var isSold = Manager.Instance.BoughtItems[i];
				<BuyPhaseItem RelicType=@relicType ItemIndex=@i IsSold=@isSold />
			}
		</div>

	<div class="done_button" onmouseover=@(() => OnMouseOver() ) onclick=@(() => DoneButtonClicked() )>
		<div class="button_icon" style="background-image:url(@($"textures/ui_check_border.png"));"></div>
		<div class="button_text">Done</div>
	</div>
</root>

@code
{
	public void DoneButtonClicked()
	{
		Manager.Instance.SetLevel(Manager.Instance.LevelNum + 1);
		Manager.Instance.PlaySfx("click_0");
	}

	void OnMouseOver()
	{
		Manager.Instance.PlaySfx("click_1");
	}

	protected override int BuildHash()
	{
		return HashCode.Combine(
			Manager.Instance.NumRelicsToShow,
			Manager.Instance.Stats[StatType.ShopExtraItems],
			Manager.Instance.BuyPhaseHash,
		Time.Now
		);
	}
}