public void OnDrop(PointerEventData eventData) { if (this.state == State.ATTACK) { switch (player.currentDraggableCard.GetComponent <Card>().card) { case SupportCard s: return; } int _position = player.currentDraggableCard.GetComponent <Card>().position; if (_position != -1) { CardPlaceholder _card = Instantiate(player.cardPlaceholder); Transform container = flank.transform.Find("Squads").Find($"CardsContainer-{_position}"); _card.transform.SetParent(container.transform, false); } int position = gameObject.name[gameObject.name.Length - 1] - '0'; player.DropCardToFlank(player.currentDraggableCard, position, flank); player.currentDraggableCard = null; } else if (this.state == State.DEFENCE) { if (player.currentDraggableCard.GetComponent <Card>().card is SquadCard && player.currentDraggableCard.GetComponent <Card>().card.active) { int _position = gameObject.name[gameObject.name.Length - 1] - '0'; CardSquad card = (CardSquad)player.currentDraggableCard.GetComponent <Card>(); if (_position != -1) { card.attackCard = player.GetOppositeCard(card, _position); if (card.attackCard) { if (card.attackCard.attackCard != null) { card.attackCard.attackCard.Highlight(false); } card.attackCard.attackCard = card; } } else { if (card.attackCard) { card.attackCard.attackCard = null; } card.Highlight(false); card.attackCard = null; } card.Highlight(card.attackCard != null); } } }
public int DestroyDead() { int count = 0; for (var i = 0; i < 8; i++) { if (mCards[i] == null) { continue; } if (((SquadCard)mCards[i].card).stamina <= 0) { count++; player.DropCardToDrop(mCards[i], player.game.GetCurrentStep() == currentPlayer); mCards[i] = null; CardPlaceholder _card = Instantiate(player.cardPlaceholder); _card.transform.SetParent(squads[i % 4].transform, false); } } return(count); }