Hello everyone,
i’m making a card game that when you choose a card from hand, the bot will do the similar and compare card numbers. And if we win the round, bot’ card will be removed from its hand but when i try to you ‘Remove’ in bot card which are implemented in List Collection, the card object still show up on scene, i try to destroy it but it don’t work. This is my code
{
public void OnMouseDown()
{
if(deck.playerDeck.Contains(gameObject))
{
foreach (var c in CardDatabase_2.cardDatabase_2)
{
if (cardFront == c.Value)
{
Deck_Game2.playerScore += c.Key;
break;
}
}
Card spriteRenderer = deck.enemyDeck[Random.Range(0, deck.enemyDeck.Count - 1)].GetComponent<Card>();
Sprite enemySprite = spriteRenderer.cardFront;
print(enemySprite.name);
foreach (var c in CardDatabase_2.cardDatabase_2)
{
if (enemySprite == c.Value)
{
Deck_Game2.enemyScore += c.Key;
break;
}
}
for (int i = 0; i < deck.playerDeck.Count; i++)
{
SpriteRenderer spr = deck.playerDeck[i].GetComponent<SpriteRenderer>();
Sprite temp = spr.sprite;
if (temp == cardFront)
{
deck.playerDeck.RemoveAt(i);
break;
}
}
for (int i = 0; i < deck.enemyDeck.Count; i++)
{
Card spr = deck.enemyDeck[i].GetComponent<Card>();
Sprite temp = spr.cardFront;
if (enemySprite == temp)
{
deck.enemyDeck.RemoveAt(i);
enemyDel = deck.enemyDeck[i];
break;
}
}
if (deck.playerDeck.Count > 0)
{
deck.SetUp(deck.playerDeck, deck.PosP, false);
}
if (deck.enemyDeck.Count > 0)
{
deck.SetUp(deck.enemyDeck, deck.PosE, false);
}
Destroy(gameObject);
enemyDel.SetActive(false);
}
}
}
A solution will help me a lot guys!!!