コード例 #1
0
    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();
        }
    }