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