Esempio n. 1
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="eventData"></param>
    /// <param name="dragged_arrow"></param>
    public void moveCreature(PointerEventData eventData, CardArrowDrag dragged_arrow)
    {
        Card card = dragged_arrow.transform.parent.GetComponent <CardGOInstance>().card;

        if (card != null && card.isCreature() && card.canAct())
        {
            Position field_position = getCardPosition(this.getPlayerId());
            Position card_position  = card.getPosition();
            Card     other_card     = null;

            if (this.empty == false)
            {
                other_card = transform.GetChild(0).GetComponent <CardGOInstance>().card;
                if (other_card.canAct() == false)
                {
                    return;
                }
            }

            if (this.movementIsValid(field_position, card_position) == false)
            {
                return;
            }

            if (server.tryMoveCharacter(card, field_position))
            {
                empty = false;
                card.setPosition(field_position);
                GameObject card_go = dragged_arrow.transform.parent.gameObject;

                Transform old_position_go = card_go.transform.parent;

                DropZone old_position_dropzone = card_go.transform.parent.GetComponent <DropZone>();

                if (other_card != null)
                {
                    other_card.setPosition(card_position);
                    other_card.setCanAct(false);
                    transform.GetChild(0).SetParent(old_position_go);
                }
                else
                {
                    old_position_dropzone.empty = true;
                }

                card.setCanAct(false);

                card_go.transform.SetParent(transform);
            }
        }
    }
Esempio n. 2
0
    public void OnDrop(PointerEventData eventData)
    {
        CardArrowDrag dragged_card = eventData.pointerDrag.GetComponent <CardArrowDrag>();

        if (dragged_card != null && server.control.isPlayerTurn())
        {
            Card card = dragged_card.transform.parent.GetComponent <CardGOInstance>().card;

            if (card.isCreature() && card.canAct())
            {
                this.attack(card);
            }
        }
    }
Esempio n. 3
0
    public void OnDrop(PointerEventData eventData)
    {
        Draggable d = eventData.pointerDrag.GetComponent <Draggable>();

        if (d != null && empty && d.canBeMoved && server.control.isPlayerTurn())
        {
            this.playCreature(eventData, d);
        }

        CardArrowDrag dragged_arrow = eventData.pointerDrag.GetComponent <CardArrowDrag>();

        if (dragged_arrow != null)
        {
            this.moveCreature(eventData, dragged_arrow);
        }
    }