public void DropCardAnimation(Card card, int val) { card.SetFaceUp(true); Vector2 temp = droppedCardPosition + Vector2.right * Constants.PLAYER_CARD_POSITION_OFFSET * val; AddCardAnimation(card, temp); }
public void SendStackCardsToPlayer(Player receivingPlayer, CardAnimator cardAnimator, List <byte> cardValues, bool isLocalPlayer) { List <Card> StackCards = cardAnimator.getStack(); int playerDisplayingCardsCount = StackCards.Count; if (playerDisplayingCardsCount < cardValues.Count) { Debug.LogError("Not enough stack cards"); return; } for (int index = 0; index < cardValues.Count; index++) { Card card = null; byte cardValue = cardValues[index]; if (isLocalPlayer) { foreach (Card c in StackCards) { if (c.Rank == Card.GetRank(cardValue) && c.Suit == Card.GetSuit(cardValue)) { card = c; break; } } } else { card = StackCards[playerDisplayingCardsCount - 1 - index]; card.SetCardValue(cardValue); card.SetFaceUp(true); } if (card != null) { card.isInStack = false; card.isTouchable = true; receivingPlayer.ReceiveDisplayingCard(card); cardAnimator.AddCardAnimation(card, receivingPlayer.NextCardPosition(), index); if (isLocalPlayer) { NumberOfDisplayingCards++; } else { receivingPlayer.NumberOfDisplayingCards++; } } else { Debug.LogError("Unable to find stack card."); } } cardAnimator.clearStack(); RepositionDisplayingCards(cardAnimator); }
public void SendDisplayingCardToPlayer(Player receivingPlayer, CardAnimator cardAnimator, List <byte> cardValues, bool isLocalPlayer) { int playerDisplayingCardsCount = DisplayingCards.Count; if (playerDisplayingCardsCount < cardValues.Count) { Debug.LogError("Not enough displaying cards"); return; } for (int index = 0; index < cardValues.Count; index++) { Card card = null; byte cardValue = cardValues[index]; if (isLocalPlayer) { foreach (Card c in DisplayingCards) { if (c.Rank == Card.GetRank(cardValue) && c.Suit == Card.GetSuit(cardValue)) { card = c; break; } } } else { card = DisplayingCards[playerDisplayingCardsCount - 1 - index]; card.SetCardValue(cardValue); card.SetFaceUp(true); } if (card != null) { Debug.Log("DisplayingCards.Remove(card) " + card); DisplayingCards.Remove(card); receivingPlayer.ReceiveDisplayingCard(card); cardAnimator.AddCardAnimation(card, receivingPlayer.NextCardPosition()); NumberOfDisplayingCards--; } else { Debug.LogError("Unable to find displaying card."); } } RepositionDisplayingCards(cardAnimator); }
public void DrawDisplayingCard(Player player, byte value) { int numberOfDisplayingCard = DisplayingCards.Count; if (numberOfDisplayingCard > 0) { Card card = DisplayingCards[numberOfDisplayingCard - 1]; card.SetCardValue(value); card.SetFaceUp(true); player.ReceiveDisplayingCard(card); AddCardAnimation(card, player.NextCardPosition()); DisplayingCards.Remove(card); } }
public void PutCardInStack(CardAnimator cardAnimator, Card card) { Debug.Log("DisplayingCards.Remove(card) " + card); card.isInStack = true; card.isTouchable = false; card.SetFaceUp(true); DisplayingCards.Remove(card); DisplayingBooks.Remove(card); HiddenBooks.Remove(card); cardAnimator.AddCardToStack(card); NumberOfDisplayingCards--; RepositionDisplayingCards(cardAnimator); }
public void DrawBurnCard(byte value) { BurnCardValues = new List <Card>(); //int numberOfBurnedCards = BurnCardValues.Count; GameObject newGameObject = Instantiate(CardPrefab, BurnPosition, Quaternion.identity); newGameObject.transform.parent = transform; Card card = newGameObject.GetComponent <Card>(); //card.SetDisplayingOrder(0); card.transform.position = BurnPosition; card.SetCardValue(value); card.SetFaceUp(false); //we want face down //player.ReceiveDisplayingCard(card); AddCardAnimation(card, BurnPosition); }
public void CreateBottomBook(byte cardValue, CardAnimator cardAnimator, int index) { Vector2 targetPosition = GetBookPositionByIndex(index); Card card = cardAnimator.TakeFirstDisplayingCard(); card.SetCardValue(cardValue); card.SetDisplayingOrder(-1); card.OwnerId = PlayerId; card.SetFaceUp(false); card.isTouchable = false; float randomRotation = UnityEngine.Random.Range(-1 * Constants.BOOK_MAX_RANDOM_ROTATION, Constants.BOOK_MAX_RANDOM_ROTATION); Quaternion rotation = Quaternion.Euler(Vector3.forward * randomRotation); cardAnimator.AddCardAnimation(card, targetPosition, rotation); HiddenBooks.Add(card); NumberOfHiddenBooks++; }
public void RestoreBook(Ranks rank, CardAnimator cardAnimator) { Vector2 targetPosition = NextBookPosition(); for (int i = 0; i < 4; i++) { Card card = cardAnimator.TakeFirstDisplayingCard(); int intRankValue = (int)rank; int cardValue = (intRankValue - 1) * 4 + i; card.SetCardValue((byte)cardValue); card.SetFaceUp(true); float randomRotation = UnityEngine.Random.Range(-1 * Constants.BOOK_MAX_RANDOM_ROTATION, Constants.BOOK_MAX_RANDOM_ROTATION); card.transform.position = targetPosition; card.transform.rotation = Quaternion.Euler(Vector3.forward * randomRotation); } numberOfBooks++; }
public Card DropCardFromPlayer(CardAnimator cardAnimator, byte cardValue, bool isLocalPlayer) { int playerDisplayingCardsCount = DisplayingCards.Count; Card card = null; if (isLocalPlayer) { foreach (Card c in DisplayingCards) { if (c.Rank == Card.GetRank(cardValue) && c.Suit == Card.GetSuit(cardValue)) { card = c; break; } } } else { //computer di rasesatppudu ra card = DisplayingCards[playerDisplayingCardsCount - 1]; card.SetCardValue(cardValue); card.SetFaceUp(true); } if (card != null) { DisplayingCards.Remove(card); //cardAnimator.AddCardAnimation(card, receivingPlayer.NextCardPosition()); NumberOfDisplayingCards--; } else { Debug.LogError("Unable to find displaying card."); } RepositionDisplayingCards(cardAnimator); return(card); }