ui/CardTypePanel.razor
@using Sandbox;
@using Sandbox.UI;
@inherits Panel
@attribute [StyleSheet("CardTypePanel.razor.scss")]
<root>
@{
@* var size = Utils.Map(Manager.Instance.NumPairs, 3, 25, 100f, 42f, EasingType.Linear); *@
var size = Utils.Map(Manager.Instance.NumPairs, 8, 20, 90f, 42f, EasingType.Linear) + (Manager.Instance.NumPairs == 20 ? 4f : 0f);
var cardTypeIndex = 0;
}
@foreach(var pair in Manager.Instance.CardPairsExisting)
{
var cardType = pair.Key;
var numExisting = pair.Value;
var numMatched = Manager.Instance.CardPairsMatched.ContainsKey(cardType) ? Manager.Instance.CardPairsMatched[cardType] : 0;
int typeUnmatchedCount = 0;
for(int i = 0; i < numExisting; i++)
{
bool matched = i < numMatched;
<CardTypePanelElement CardType=@cardType Size=@size Matched=@matched Index=@cardTypeIndex TypeIndexUnmatched=@typeUnmatchedCount />
cardTypeIndex++;
if (!matched)
typeUnmatchedCount++;
}
}
</root>
@code
{
protected override int BuildHash()
{
return HashCode.Combine(
Manager.Instance.CardTypePanelHash
// Time.Now
);
}
}