12张卡组不允许2张ssr+

This commit is contained in:
xianyi
2025-08-29 09:57:06 +08:00
parent 95a93497ea
commit 0d6d1f970c
3 changed files with 31 additions and 2 deletions

View File

@@ -657,8 +657,9 @@ namespace TcgEngine.UI
bool owner = IsCardOwned(udata, card.GetCard(), card.GetVariant(), in_deck + 1);
bool deck_limit = in_deck_same < GameplayData.Get().deck_duplicate_max;
bool ssr_limit = CheckSSRLimit(icard);
if (owner && deck_limit)
if (owner && deck_limit && ssr_limit)
{
AddDeckCard(icard, variant);
RefreshDeckCards();
@@ -764,6 +765,31 @@ namespace TcgEngine.UI
return udata.GetCardQuantity(card, variant) >= quantity;
}
private bool CheckSSRLimit(CardData card)
{
// 检查卡牌稀有度是否 >= 4 (SSR级别)
if (card.rarity.rank >= 4)
{
int ssr_count = CountSSRCards();
return ssr_count < GameplayData.Get().deck_ssr_max;
}
return true;
}
private int CountSSRCards()
{
int count = 0;
foreach (UserCardData ucard in deck_cards)
{
CardData card = CardData.Get(ucard.tid);
if (card != null && card.rarity.rank >= 4)
{
count += ucard.quantity;
}
}
return count;
}
private string GetSelectedHeroId()
{
foreach (IconButton btn in hero_powers)