예제 #1
0
    private IEnumerator DistTexassCard(int j, Transform card, Vector3 cardsFromPosition, Vector3 targetPos, TexassPlayer 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);
        }
    }
예제 #2
0
    public void GenerateTexassPlayerCardsForWaitingPlayer()
    {
        Vector3      cardsFromPosition = TexassGame.Instance.playerPositions [0].position;
        TexassPlayer dealerPlayer      = TexassGame.Instance.GetDealerPlayer();

        if (dealerPlayer)
        {
            cardsFromPosition = dealerPlayer.transform.position;
        }

        foreach (TexassPlayer p in TexassGame.Instance.allTexassPlayers)
        {
            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 (TexassGame.Instance.currentGameStatus == GAME_STATUS.CARD_DISTRIBUTE) {
//					Vector3 targetPos = j == 0 ? p.card1Position.position : p.card2Position.position;
//					GameObject card = Instantiate (cardPrefab, 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 {
                if (j == 0)
                {
                    p.DestroyCard1();
                }
                else
                {
                    p.DestroyCard2();
                }

                Vector3    targetPos = j == 0 ? p.card1Position.position : p.card2Position.position;
                GameObject card      = Instantiate(cardPrefab, 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);
                }
//				}
            }
        }
    }
예제 #3
0
    public IEnumerator DistributeTexassGameCards()
    {
        yield return(new WaitForSeconds(1f));

        FireCollectBlindAmount();

//		foreach (TexassPlayer p in TexassGame.Instance.allTexassPlayers)
//			p.DestroyCards ();

        TexassGame.Instance.SortPlayerBySeatIndex();

        yield return(new WaitForSeconds(1));

        Vector3      cardsFromPosition = TexassGame.Instance.playerPositions [0].position;
        TexassPlayer dealerPlayer      = TexassGame.Instance.GetDealerPlayer();

        if (dealerPlayer)
        {
            cardsFromPosition = dealerPlayer.transform.position;
        }

        int          cardDistributionStartFrom = 0;
        TexassPlayer smallBlindPlayer          = TexassGame.Instance.GetSmallBlindPlayer();

        if (smallBlindPlayer)
        {
            cardDistributionStartFrom = TexassGame.Instance.allTexassPlayers.IndexOf(smallBlindPlayer);
        }

        for (int j = 0; j < 2; j++)
        {
            foreach (TexassPlayer p in TexassGame.Instance.allTexassPlayers)
            {
                TexassPlayer player = TexassGame.Instance.allTexassPlayers [cardDistributionStartFrom++];

                if (cardDistributionStartFrom >= TexassGame.Instance.allTexassPlayers.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))
                {
                    player.card2Position.GetChild(0).GetComponent <CardFlipAnimation> ().PlayAnimation(j == 0 ? player.card1 : player.card2);
                    continue;
                }

                GameObject card = Instantiate(cardPrefab, cardsFromPosition, Quaternion.identity) as GameObject;
                card.transform.SetParent(j == 0 ? player.card1Position : player.card2Position);
                card.transform.localScale = Vector3.one;
                card.transform.SetParent(TexassGame.Instance.objectsGenerateHere);

                Vector3 targetPos = j == 0 ? player.card1Position.position : player.card2Position.position;
                //				StartCoroutine (MoveCardTo (card.transform, targetPos));

                StartCoroutine(DistTexassCard(j, card.transform, cardsFromPosition, targetPos, player));

                yield return(new WaitForSeconds(.1f));
            }
        }

        FireCardDistributionFinished();
        TexassGame.Instance.currentGameStatus = GAME_STATUS.RUNNING;
    }