private IEnumerator DistributeWhoopAssGameCards() { yield return(new WaitForSeconds(1f)); FireCollectBlindAmount(); // foreach (WhoopAssPlayer p in WhoopAssGame.Instance.allWhoopAssPlayers) // p.DestroyCards (); WhoopAssGame.Instance.SortPlayerBySeatIndex(); yield return(new WaitForSeconds(1f)); Vector3 cardsFromPosition = WhoopAssGame.Instance.playerPositions [0].position; WhoopAssPlayer dealerPlayer = WhoopAssGame.Instance.GetDealerPlayer(); if (dealerPlayer) { cardsFromPosition = dealerPlayer.transform.position; } int cardDistributionStartFrom = 0; WhoopAssPlayer smallBlindPlayer = WhoopAssGame.Instance.GetSmallBlindPlayer(); if (smallBlindPlayer) { cardDistributionStartFrom = WhoopAssGame.Instance.allWhoopAssPlayers.IndexOf(smallBlindPlayer); } for (int j = 0; j < 2; j++) { foreach (WhoopAssPlayer p in WhoopAssGame.Instance.allWhoopAssPlayers) { WhoopAssPlayer player = WhoopAssGame.Instance.allWhoopAssPlayers [cardDistributionStartFrom++]; if (cardDistributionStartFrom >= WhoopAssGame.Instance.allWhoopAssPlayers.Count) { cardDistributionStartFrom = 0; } if (UIManager.Instance.isRegularTournament || UIManager.Instance.isSitNGoTournament) { if (player.playerInfo.Player_Status != (int)PLAYER_STATUS.ACTIVE && player.playerInfo.Player_Status != (int)PLAYER_STATUS.ABSENT && player.playerInfo.Player_Status != (int)PLAYER_STATUS.SIT_OUT && player.playerInfo.Player_Status != (int)PLAYER_ACTION.ALLIN) { continue; } } else { if (player.playerInfo.Player_Status != (int)PLAYER_STATUS.ACTIVE && player.playerInfo.Player_Status != (int)PLAYER_STATUS.ABSENT && player.playerInfo.Player_Status != (int)PLAYER_ACTION.ALLIN) { continue; } } if (j == 0 && player.card1Position.childCount > 0 && player.playerID.Equals(NetworkManager.Instance.playerID)) { player.card1Position.GetChild(0).GetComponent <CardFlipAnimation> ().PlayAnimation(j == 0 ? player.card1 : player.card2); continue; } if (j == 1 && player.card2Position.childCount > 0 && player.playerID.Equals(NetworkManager.Instance.playerID)) { p.card2Position.GetChild(0).GetComponent <CardFlipAnimation> ().PlayAnimation(j == 0 ? player.card1 : player.card2); continue; } GameObject card = Instantiate(whoopAssPlayerCardPrefab, cardsFromPosition, Quaternion.identity) as GameObject; card.transform.SetParent(j == 0 ? player.card1Position : player.card2Position); card.transform.localScale = Vector3.one; card.transform.SetParent(WhoopAssGame.Instance.objectsGenerateHere); Vector3 targetPos = j == 0 ? player.card1Position.position : player.card2Position.position; // StartCoroutine (MoveCardTo (card.transform, targetPos)); StartCoroutine(DistWhoopAssCard(j, card.transform, cardsFromPosition, targetPos, player)); yield return(new WaitForSeconds(.1f)); } } FireCardDistributionFinished(); WhoopAssGame.Instance.currentGameStatus = GAME_STATUS.RUNNING; }
private IEnumerator DistWhoopAssCard(int j, Transform card, Vector3 cardsFromPosition, Vector3 targetPos, WhoopAssPlayer player) { SoundManager.Instance.PlayCardSuffleSound(Camera.main.transform.position); float a = 0; while (a < 1) { a += 4 * Time.deltaTime; card.transform.position = Vector3.Lerp(cardsFromPosition, targetPos, a); yield return(0); } if (j == 0) { player.DestroyCard1(); } else { player.DestroyCard2(); } card.transform.SetParent(j == 0 ? player.card1Position : player.card2Position); if (player.playerID.Equals(NetworkManager.Instance.playerID)) { card.GetComponent <CardFlipAnimation> ().PlayAnimation(j == 0 ? player.card1 : player.card2); } }
public void GenerateWhoopAssPlayerCardsForWaitingPlayer(bool destroyCards = true) { Vector3 cardsFromPosition = WhoopAssGame.Instance.playerPositions [0].position; WhoopAssPlayer dealerPlayer = WhoopAssGame.Instance.GetDealerPlayer(); if (dealerPlayer) { cardsFromPosition = dealerPlayer.transform.position; } for (int i = 0; i < WhoopAssGame.Instance.allWhoopAssPlayers.Count; i++) { WhoopAssPlayer p = WhoopAssGame.Instance.allWhoopAssPlayers [i]; if (UIManager.Instance.isRegularTournament || UIManager.Instance.isSitNGoTournament) { if (p.playerInfo.Player_Status != (int)PLAYER_STATUS.ACTIVE && p.playerInfo.Player_Status != (int)PLAYER_STATUS.ABSENT && p.playerInfo.Player_Status != (int)PLAYER_STATUS.SIT_OUT && p.playerInfo.Player_Status != (int)PLAYER_ACTION.ALLIN && p.playerInfo.Player_Status != (int)PLAYER_STATUS.FOLDED && p.playerInfo.Player_Status != (int)PLAYER_ACTION.ACTION_FOLDED) { continue; } } else { if (p.playerInfo.Player_Status != (int)PLAYER_STATUS.ACTIVE && p.playerInfo.Player_Status != (int)PLAYER_STATUS.ABSENT && p.playerInfo.Player_Status != (int)PLAYER_ACTION.ALLIN && p.playerInfo.Player_Status != (int)PLAYER_STATUS.FOLDED && p.playerInfo.Player_Status != (int)PLAYER_ACTION.ACTION_FOLDED) { continue; } } for (int j = 0; j < 2; j++) { if (j == 0 && p.card1Position.childCount > 0 && p.playerID.Equals(NetworkManager.Instance.playerID)) { p.card1Position.GetChild(0).GetComponent <CardFlipAnimation> ().PlayAnimation(j == 0 ? p.card1 : p.card2); continue; } if (j == 1 && p.card2Position.childCount > 0 && p.playerID.Equals(NetworkManager.Instance.playerID)) { p.card2Position.GetChild(0).GetComponent <CardFlipAnimation> ().PlayAnimation(j == 0 ? p.card1 : p.card2); continue; } if (j == 0) { p.DestroyCard1(); } else { p.DestroyCard2(); } // if (WhoopAssGame.Instance.currentGameStatus == GAME_STATUS.CARD_DISTRIBUTE) { // GameObject card = Instantiate (whoopAssPlayerCardPrefab, cardsFromPosition, Quaternion.identity) as GameObject; // card.transform.SetParent (j == 0 ? p.card1Position : p.card2Position); // card.transform.localScale = Vector3.one; // if (p.playerID.Equals (NetworkManager.Instance.playerID)) // card.GetComponent<CardFlipAnimation> ().DisplayCardWithoutAnimation (j == 0 ? p.card1 : p.card2); // StartCoroutine (MoveCardTo (card.transform, j == 0 ? p.card1Position.position : p.card2Position.position)); // } else { Vector3 targetPos = j == 0 ? p.card1Position.position : p.card2Position.position; GameObject card = Instantiate(whoopAssPlayerCardPrefab, targetPos, Quaternion.identity) as GameObject; card.transform.SetParent(j == 0 ? p.card1Position : p.card2Position); card.transform.localScale = Vector3.one; if (p.playerID.Equals(NetworkManager.Instance.playerID)) { card.GetComponent <CardFlipAnimation> ().DisplayCardWithoutAnimation(j == 0 ? p.card1 : p.card2); } // } } } }