Привет, я пытаюсь создать карточную игру, и у меня есть класс под названием рука, у этой руки есть public List<GameObject> cards;
и методы:
public void AddCard(GameObject card)
{
cards.Add(card);
GameObject cardObject = Instantiate(card, startPosition, actualCardRotation);
}
public GameObject RemoveCard(GameObject card)
{
cards.Remove(card);
return card;
}
тогда у меня есть атрибуты cardGameController public Hand playerHand, computerHand;
, в котором есть функция выбора карты для игры и вызова функции RemoveCard, но здесь не работает код:
public void SelectCardToPlay()
{
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y);
RaycastHit2D hit = Physics2D.Raycast(mousePos2D, Vector2.zero);
if (hit.collider != null && hit.collider.CompareTag("Card"))
{
Console.text = hit.collider.gameObject.GetComponent<Card>().description;
if (Input.GetMouseButtonDown(0))
{
playedPlayerCard = playerHand.RemoveCard(hit.collider.gameObject);
playerSelectedCardBoard.AddCard(playedPlayerCard, 3);
playedComputerCard = computerHand.PickRandomCard();
computerSelectedCardBoard.AddCard(playedComputerCard, 3);
gameState = 5;
}
}
}
Похоже, что объект, который я получаю с помощью hit.collider, не совпадает со списком рук или чем-то в этом роде, есть какие-то подсказки?