public void OnDrop(PointerEventData eventData) { _currentDraggedCard = DragHandler.draggedCard; var currentPlayer = GameCore.currentPlayer == 1 ? GameCore.player1 : GameCore.player2; _currentPlayerHandCards = GameCore.GetHandCardSlotOfPlayer(currentPlayer); int cardNumber = _currentDraggedCard.CardNumber; _cardInPlace = _cardInSlot(transform); _currentSlotNumber = _cardInPlace ? _cardInPlace.CardNumber : 200; _hasCardPlaced = _cardInPlace; if (CanDropCard(cardNumber)) { _currentDraggedCard.transform.SetParent(transform); _currentDraggedCard.transform.localPosition = new Vector3(0, 0, 0); SetChoiceButtons(true); cardHandler.DisableDragHandler(_currentDraggedCard, _cardInPlace); GameEvents.Invoke_OnCardDroppedInSlot(_currentDraggedCard, _currentPlayerHandCards.currentHandCards.Count); } else { GameEvents.Invoke_OnCardDropDeclined(); } }