/// <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); } } }
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); } } }
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); } }