Esempio n. 1
0
    public void SetDealerObjectToPlayer(PokerPlayerController player)
    {
        objectDealer.SetActive(true);
        PokerGPSide playerSide = Array.Find <PokerGPSide>(arrayPokerSide, s => s.CurrentSide == player.GetSide());

        objectDealer.transform.parent        = playerSide.positionDealer.transform;
        objectDealer.transform.localPosition = Vector3.zero;
        objectDealer.transform.localScale    = Vector3.one;
    }
Esempio n. 2
0
    IEnumerator CreateEffectDealCard(PokerPlayerController[] players, int[] hands, int time)
    {
        PokerObserver.Game.IsClientListening = false;
        PokerPlayerController dealer = Array.Find <PokerPlayerController>(players, p => p.userName == PokerObserver.Game.Dealer);
        int indexDealer = Array.IndexOf(players, dealer);
        List <PokerPlayerController> playerDeal = new List <PokerPlayerController>();

        for (int i = indexDealer; i < players.Length; i++)
        {
            playerDeal.Add(players[i]);
        }
        for (int i = 0; i < indexDealer; i++)
        {
            playerDeal.Add(players[i]);
        }

        float timeEffect       = (time / 1000);
        float timeMove         = 1.0f;
        float timeWaitForStart = (timeEffect - timeMove) / (playerDeal.Count * 2 - 1);

        for (int i = 0; i < 2; i++)
        {
            foreach (PokerPlayerController p in playerDeal)
            {
                PokerPlayerUI playerUI    = GetPlayerUI(p.userName);
                GameObject    cardObjects = (GameObject)GameObject.Instantiate(prefabCard);
                cardObjects.transform.parent        = positionEffectDealCard.transform;
                cardObjects.transform.localRotation = Quaternion.identity;
                cardObjects.transform.localPosition = Vector3.zero;
                cardObjects.transform.localScale    = Vector3.one / 3;

                Vector3 cardMoveTo = Vector3.zero;
                if (PokerObserver.Game.IsMainPlayer(p.userName))
                {
                    cardMoveTo = playerUI.side.positionCardMainPlayer[i].transform.localPosition;
                    cardObjects.transform.parent = playerUI.side.positionCardMainPlayer[i].transform.parent;
                }
                else
                {
                    cardMoveTo = playerUI.side.positionCardFaceCards[i].transform.localPosition;
                    cardObjects.transform.parent = playerUI.side.positionCardFaceCards[i].transform.parent;
                }

                Hashtable tweenValue = new Hashtable();
                tweenValue.Add("cardObject", cardObjects);
                tweenValue.Add("index", i);
                tweenValue.Add("cardId", hands[i]);
                tweenValue.Add("userName", p.userName);
                iTween.MoveTo(cardObjects, iTween.Hash("islocal", true, "time", timeMove, "position", cardMoveTo, "oncomplete", "onMoveCardComplete", "oncompletetarget", gameObject, "oncompleteparams", tweenValue));

                PuSound.Instance.Play(SoundType.DealCard);
                yield return(new WaitForSeconds(timeWaitForStart));
            }
        }
        PokerObserver.Game.IsClientListening = true;
    }
Esempio n. 3
0
    public void SetData(PokerPlayerController player)
    {
        bool addEvent = data == null;

        this.data = player;
        if (addEvent)
        {
            data.onDataChanged += playerModel_onDataChanged;
        }
        UpdateUI(player);
        PuApp.Instance.GetImage(data.avatar, (_texture) => texture.mainTexture = _texture);

        Vector3 giftPosition = btnGift.transform.localPosition;

        if ((int)player.GetSide() > (int)Puppet.Poker.PokerSide.Slot_5)
        {
            float x = Math.Abs(giftPosition.x);
            giftPosition.x = x;
        }
        btnGift.transform.localPosition = giftPosition;
    }
Esempio n. 4
0
    void SetPositionAvatarPlayer(string userName)
    {
        PokerPlayerController player = PokerObserver.Game.GetPlayer(userName);

        GameObject obj;

        if (dictPlayerObject.ContainsKey(userName) && listPlayerQuit.Find(p => p.UserName == userName) == null)
        {
            obj = dictPlayerObject[userName];
        }
        else if (dictReJoinGame.ContainsKey(userName))
        {
            obj = dictReJoinGame[userName];
        }
        else
        {
            obj = (GameObject)GameObject.Instantiate(prefabPlayer);
            if (listPlayerQuit.Find(p => p.UserName == userName) == null)
            {
                dictPlayerObject.Add(player.userName, obj);
            }
            else if (dictReJoinGame.ContainsKey(player.userName) == false)
            {
                dictReJoinGame.Add(player.userName, obj);
            }
        }

        PokerGPSide   playerSide = Array.Find <PokerGPSide>(arrayPokerSide, s => s.CurrentSide == player.GetSide());
        PokerPlayerUI playerUI   = obj.GetComponent <PokerPlayerUI>();

        playerUI.side = playerSide;
        playerUI.SetData(player);
        obj.transform.parent        = playerSide.transform;
        obj.transform.localPosition = Vector3.zero;
        obj.transform.localScale    = Vector3.one;
        playerUI.ChangeCardPosition();
    }
 public DialogShortProfile(PokerPlayerController info)
 {
     this.info = info;
 }
Esempio n. 6
0
 public void SetDealerObjectToPlayer(PokerPlayerController player)
 {
     objectDealer.SetActive(true);
     PokerGPSide playerSide = Array.Find<PokerGPSide>(arrayPokerSide, s => s.CurrentSide == player.GetSide());
     objectDealer.transform.parent = playerSide.positionDealer.transform;
     objectDealer.transform.localPosition = Vector3.zero;
     objectDealer.transform.localScale = Vector3.one;
 }
Esempio n. 7
0
    void CreateHand(PokerPlayerController[] players, int [] hands)
    {
        foreach(PokerPlayerController p in players)
        {
            int handSize = p.handSize;
            GameObject[] cardObjects = dictPlayerObject[p.userName].GetComponent<PokerPlayerUI>().cardOnHands.Length > 0 
                ? dictPlayerObject[p.userName].GetComponent<PokerPlayerUI>().cardOnHands 
                : new GameObject[handSize];

            for (int i = 0; i < handSize; i++)
                if (cardObjects[i] == null)
                    cardObjects[i] = (GameObject)GameObject.Instantiate(prefabCard);

            if (PokerObserver.Game.IsMainPlayer(p.userName))
            {
                if (hands != null && hands.Length == handSize)
                    for (int i = 0; i < handSize; i++)
                        cardObjects[i].GetComponent<PokerCardObject>().SetDataCard(new PokerCard(hands[i]), i);
                else
                    Logger.LogError("Hand Size & Card On Hand: is not fit");
            }
            else
                for (int i = 0; i < handSize; i++)
                    cardObjects[i].GetComponent<PokerCardObject>().SetDataCard(new PokerCard(), i);

            dictPlayerObject[p.userName].GetComponent<PokerPlayerUI>().UpdateSetCardObject(cardObjects);

            cardsDeal.AddRange(cardObjects);
        }
    }
Esempio n. 8
0
    IEnumerator CreateEffectDealCard(PokerPlayerController[] players, int[] hands,int time)
    {
        PokerObserver.Game.IsClientListening = false;
        PokerPlayerController dealer =  Array.Find<PokerPlayerController>(players, p => p.userName == PokerObserver.Game.Dealer);
        int indexDealer = Array.IndexOf(players, dealer);
        List<PokerPlayerController> playerDeal = new List<PokerPlayerController>();
        for (int i = indexDealer; i < players.Length; i++)
            playerDeal.Add(players[i]);    
        for (int i = 0; i < indexDealer; i++ )
            playerDeal.Add(players[i]);
        
        float timeEffect = (time/1000) ;
        float timeMove = 1.0f;
        float timeWaitForStart = (timeEffect - timeMove) / (playerDeal.Count * 2 - 1);
        for (int i = 0; i < 2; i++)
        {
            foreach (PokerPlayerController p in playerDeal)
            {
                GameObject cardObjects = (GameObject)GameObject.Instantiate(prefabCard);
                cardObjects.transform.parent = positionEffectDealCard.transform;
                cardObjects.transform.localRotation = Quaternion.identity;
                cardObjects.transform.localPosition = Vector3.zero;
                cardObjects.transform.localScale = Vector3.one /3;

                Vector3 cardMoveTo = Vector3.zero;
                if (PokerObserver.Game.IsMainPlayer(p.userName))
                {
                    cardMoveTo = dictPlayerObject[p.userName].GetComponent<PokerPlayerUI>().side.positionCardMainPlayer[i].transform.localPosition;
                    cardObjects.transform.parent = dictPlayerObject[p.userName].GetComponent<PokerPlayerUI>().side.positionCardMainPlayer[i].transform.parent;
                }
                else
                {
                    cardMoveTo = dictPlayerObject[p.userName].GetComponent<PokerPlayerUI>().side.positionCardFaceCards[i].transform.localPosition;
                    cardObjects.transform.parent = dictPlayerObject[p.userName].GetComponent<PokerPlayerUI>().side.positionCardFaceCards[i].transform.parent;
                }
                Hashtable tweenValue = new Hashtable();
                tweenValue.Add("cardObject", cardObjects);
                tweenValue.Add("index", i);
                tweenValue.Add("cardId", hands[i]);
                tweenValue.Add("userName", p.userName);
                iTween.MoveTo(cardObjects, iTween.Hash("islocal", true, "time", timeMove, "position", cardMoveTo, "oncomplete", "onMoveCardComplete", "oncompletetarget", gameObject, "oncompleteparams", tweenValue));

                PuSound.Instance.Play(SoundType.DealCard);
                yield return new WaitForSeconds(timeWaitForStart);
            }
        }
        PokerObserver.Game.IsClientListening = true;
    }
Esempio n. 9
0
    void UpdateUI(PokerPlayerController player)
    {
        if (player != null && player.userName == data.userName)
        {
            double money = player.GetMoney();
            labelCurrentGold.text = money > 0 ? money.ToString("#,###") : "All In";

            string customTitle = string.Empty;
            if (PokerObserver.Instance.isWaitingFinishGame || (PokerObserver.Game.CurrentPlayer != null && PokerObserver.Game.CurrentPlayer.userName == player.userName))
                labelUsername.text = data.userName;
            else if (PokerObserver.Game.ListPlayerWaitNextGame.Contains(player.userName) || (PokerObserver.Game.ListPlayerInGame.Count > 0 && player.GetPlayerState() == PokerPlayerState.none))
                customTitle = "Chờ ván mới";
            else if (PokerObserver.Game.IsPlayerInGame(player.userName))
            {
                if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.check)
                    customTitle = PokerObserver.Game.GetTimesInteractiveInRound(player.userName) > 0 ? "Xem bài" : "Chờ đặt cược";
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.fold)
                    customTitle = "Bỏ bài";
                else if (player.currentBet == 0)
                    customTitle = "Chờ đặt cược";
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.bigBlind)
                    customTitle = "Big Blind";
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.smallBlind)
                    customTitle = "Small Blind";
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.call)
                    customTitle = "Theo cược";
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.allIn)
                    customTitle = "All-in";
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.raise)
                    customTitle = "Thêm cược";
                else
                    labelUsername.text = data.userName;
            }
            else
                labelUsername.text = data.userName;

            if (!string.IsNullOrEmpty(customTitle))
                labelUsername.text = string.Format("[FFFF50]{0}[-]", customTitle);

            if(player.currentBet > 0)
                LoadCurrentBet(player.currentBet);

            if (PokerObserver.Game.Dealer == player.userName && PokerObserver.Game.IsPlayerInGame(player.userName))
                playmat.SetDealerObjectToPlayer(player);
        }
    }
Esempio n. 10
0
    public void SetData(PokerPlayerController player)
    {
        bool addEvent = data == null;
        this.data = player;
        if (addEvent)
            data.onDataChanged += playerModel_onDataChanged;
        UpdateUI(player);
        PuApp.Instance.GetImage(data.avatar, (_texture) => texture.mainTexture = _texture);

        Vector3 giftPosition = btnGift.transform.localPosition;
        if ((int)player.GetSide() > (int)Puppet.Poker.PokerSide.Slot_5)
        {
            float x = Math.Abs(giftPosition.x);
            giftPosition.x = x;
        }
        btnGift.transform.localPosition = giftPosition;
    }
Esempio n. 11
0
    void UpdateUI(PokerPlayerController player)
    {
        if (player != null && player.userName == data.userName)
        {
            double money = player.GetMoney();
            labelCurrentGold.text = money > 0 ? money.ToString("#,###") : "All In";

            string customTitle = string.Empty;
            if (PokerObserver.Instance.isWaitingFinishGame || (PokerObserver.Game.CurrentPlayer != null && PokerObserver.Game.CurrentPlayer.userName == player.userName))
            {
                labelUsername.text = data.userName;
            }
            else if (PokerObserver.Game.ListPlayerWaitNextGame.Contains(player.userName) || (PokerObserver.Game.ListPlayerInGame.Count > 0 && player.GetPlayerState() == PokerPlayerState.none))
            {
                customTitle = "Chờ ván mới";
            }
            else if (PokerObserver.Game.IsPlayerInGame(player.userName))
            {
                if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.check)
                {
                    customTitle = PokerObserver.Game.GetTimesInteractiveInRound(player.userName) > 0 ? "Xem bài" : "Chờ đặt cược";
                }
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.fold)
                {
                    customTitle = "Bỏ bài";
                }
                else if (player.currentBet == 0)
                {
                    customTitle = "Chờ đặt cược";
                }
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.bigBlind)
                {
                    customTitle = "Big Blind";
                }
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.smallBlind)
                {
                    customTitle = "Small Blind";
                }
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.call)
                {
                    customTitle = "Theo cược";
                }
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.allIn)
                {
                    customTitle = "All-in";
                }
                else if (player.GetPlayerState() == Puppet.Poker.PokerPlayerState.raise)
                {
                    customTitle = "Thêm cược";
                }
                else
                {
                    labelUsername.text = data.userName;
                }
            }
            else
            {
                labelUsername.text = data.userName;
            }

            if (!string.IsNullOrEmpty(customTitle))
            {
                labelUsername.text = string.Format("[FFFF50]{0}[-]", customTitle);
            }

            if (player.currentBet > 0)
            {
                LoadCurrentBet(player.currentBet);
            }

            if (PokerObserver.Game.Dealer == player.userName && PokerObserver.Game.IsPlayerInGame(player.userName))
            {
                playmat.SetDealerObjectToPlayer(player);
            }
        }
    }
Esempio n. 12
0
 public DialogPlayerInfo(PokerPlayerController player)
 {
     this.player = player;
 }