예제 #1
0
 public void MarkerPot(PokerPotItem pot)
 {
     if (!_listPotMarkers.Contains(pot))
     {
         _listPotMarkers.Add(pot);
     }
 }
예제 #2
0
    public static PokerPotItem Create(Puppet.Poker.Datagram.ResponseUpdatePot.DataPot pot)
    {
        GameObject gobj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Gameplay/PotItem"));

        gobj.name = "" + pot.id;
        PokerPotItem item = gobj.GetComponent <PokerPotItem>();

        item.SetValue(pot);
        return(item);
    }
예제 #3
0
 void addBetAnim()
 {
     //Logger.Log("Betting Player: " + data.userName + " - " + data.currentBet);
     tweenComplete();
     if (currentBet.CurrentBet < data.currentBet)
     {
         if (betAnim == null)
         {
             betAnim = NGUITools.AddChild(gameObject, playmat.prefabBetObject).GetComponent <PokerPotItem>();
         }
         NGUITools.SetActive(betAnim.gameObject, true);
         betAnim.labelCurrentbet.transform.parent.gameObject.SetActive(false);
         iTween.MoveTo(betAnim.gameObject, iTween.Hash("position", side.positionMoney.transform.localPosition, "islocal", true, "time", 1.0f, "oncomplete", "tweenComplete", "oncompletetarget", gameObject));
     }
     StartCoroutine(SetCurrentBet());
 }
예제 #4
0
    public void PlayerOutGame()
    {
        if (PokerObserver.Game.IsMainPlayer(data.userName))
        {
            if (currentBet != null && currentBet.gameObject != null)
            {
                GameObject.Destroy(currentBet.gameObject);
            }
            currentBet = null;
        }

        if (currentBet != null)// && !PokerObserver.Game.IsMainPlayer(data.userName))
        {
            currentBet.transform.parent = playmat.transform;
            playmat.MarkerPot(currentBet);
        }
    }
예제 #5
0
    IEnumerator _SummaryPot(ResponseResultSummary data, float timeEffect)
    {
        PokerPotItem thisPot = currentPots.Find(p => data.potId == p.Pot.id);

        if (thisPot != null && thisPot.gameObject != null)
        {
            List <PokerPotItem>          listPotItems  = new List <PokerPotItem>();
            List <ResponseMoneyExchange> winnerPlayers = new List <ResponseMoneyExchange>(System.Array.FindAll <ResponseMoneyExchange>(data.players, p => p.winner));
            foreach (ResponseMoneyExchange exchange in winnerPlayers)
            {
                PokerPlayerUI uiPlayer = playmat.GetPlayerUI(exchange.userName);
                if (exchange.moneyExchange > 0 && uiPlayer != null)
                {
                    PokerPotItem pot = NGUITools.AddChild(thisPot.gameObject, thisPot.gameObject).GetComponent <PokerPotItem>();
                    pot.gameObject.transform.parent = uiPlayer.transform.parent;
                    pot.OnMove();
                    listPotItems.Add(pot);
                }
            }

            currentPots.Remove(thisPot);
            GameObject.Destroy(thisPot.gameObject);

            foreach (PokerPotItem pot in listPotItems)
            {
                iTween.MoveTo(pot.gameObject, iTween.Hash("islocal", true, "time", timeEffect, "position", Vector3.zero));
            }

            StartCoroutine(PlaySound());

            yield return(new WaitForSeconds(timeEffect));

            for (int i = listPotItems.Count - 1; i >= 0; i--)
            {
                GameObject.Destroy(listPotItems[i].gameObject);
            }
            listPotItems.Clear();
            yield return(new WaitForEndOfFrame());
        }
        yield return(new WaitForEndOfFrame());

        tablePot.Reposition();
    }
예제 #6
0
    void LoadCurrentBet(double value)
    {
        if (side != null)
        {
            if (currentBet == null)
            {
                currentBet = NGUITools.AddChild(side.positionMoney, playmat.prefabBetObject).GetComponent <PokerPotItem>();
                NGUITools.SetActive(currentBet.gameObject, false);
            }
            else
            {
                currentBet.transform.parent        = side.positionMoney.transform;
                currentBet.transform.localPosition = Vector3.zero;
            }
        }

        if (currentBet != null)
        {
            addBetAnim();
        }
    }
예제 #7
0
 public void MarkerPot(PokerPotItem pot)
 {
     if (!_listPotMarkers.Contains(pot))
         _listPotMarkers.Add(pot);
 }
예제 #8
0
    public void PlayerOutGame()
    {
        if (PokerObserver.Game.IsMainPlayer(data.userName))
        {
            if (currentBet != null && currentBet.gameObject != null)
                GameObject.Destroy(currentBet.gameObject);
            currentBet = null;
        }

        if (currentBet != null)// && !PokerObserver.Game.IsMainPlayer(data.userName))
        {
            currentBet.transform.parent = playmat.transform;
            playmat.MarkerPot(currentBet);
        }
    }
예제 #9
0
 void addBetAnim()
 {
     //Logger.Log("Betting Player: " + data.userName + " - " + data.currentBet);
     tweenComplete();
     if (currentBet.CurrentBet < data.currentBet)
     {
         if (betAnim == null)
             betAnim = NGUITools.AddChild(gameObject, playmat.prefabBetObject).GetComponent<PokerPotItem>();
         NGUITools.SetActive(betAnim.gameObject, true);
         betAnim.labelCurrentbet.transform.parent.gameObject.SetActive(false);
         iTween.MoveTo(betAnim.gameObject, iTween.Hash("position", side.positionMoney.transform.localPosition, "islocal", true, "time", 1.0f, "oncomplete", "tweenComplete", "oncompletetarget", gameObject));
     }
     StartCoroutine(SetCurrentBet());
 }
예제 #10
0
    void LoadCurrentBet(double value)
    {
        if (side != null)
        {
            if (currentBet == null)
            {
                currentBet = NGUITools.AddChild(side.positionMoney, playmat.prefabBetObject).GetComponent<PokerPotItem>();
                NGUITools.SetActive(currentBet.gameObject, false);
            }
            else
            {
                currentBet.transform.parent = side.positionMoney.transform;
                currentBet.transform.localPosition = Vector3.zero;
            }
        }

        if (currentBet != null)
            addBetAnim();
    }
예제 #11
0
    void OnDestroy()
    {
        if (PokerObserver.Game.IsMainPlayer(data.userName))
        {
            if (currentBet != null && currentBet.gameObject != null)
                GameObject.Destroy(currentBet.gameObject);
            currentBet = null;
        }

        if (currentBet != null)// && !PokerObserver.Game.IsMainPlayer(data.userName))
        {
            currentBet.transform.parent = playmat.transform;
            playmat.MarkerPot(currentBet);
        }

        data.onDataChanged -= playerModel_onDataChanged;
    }
예제 #12
0
    IEnumerator _UpdatePot(List <ResponseUpdatePot.DataPot> dataPots)
    {
        foreach (ResponseUpdatePot.DataPot data in dataPots)
        {
            bool         isCreate = false;
            PokerPotItem thisPot  = currentPots.Find(p => data.id == p.Pot.id);
            if (thisPot != null)
            {
                thisPot.SetValue(data);
            }
            else
            {
                thisPot  = PokerPotItem.Create(data);
                isCreate = true;
                switch (currentPots.Count)
                {
                case 6:
                    thisPot.transform.parent = topLeftPosition.transform;
                    break;

                case 7:
                    thisPot.transform.parent = topRightPosition.transform;
                    break;

                default:
                    thisPot.transform.parent = tablePot.transform;
                    break;
                }
                thisPot.transform.localScale    = Vector3.one;
                thisPot.transform.localPosition = Vector3.zero;
                currentPots.Add(thisPot);
            }

            #region EFFECT MOVE CHIP
            if (data.isNew)
            {
                if (isCreate)
                {
                    thisPot.SetAlpha(0);
                }
                tablePot.Reposition();
                yield return(new WaitForEndOfFrame());

                List <PokerPotItem> listPotItems = new List <PokerPotItem>();
                for (int i = 0; i < data.contributors.Length; i++)
                {
                    PokerPlayerUI uiPlayer = playmat.GetPlayerUI(data.contributors[i]);
                    if (uiPlayer != null)
                    {
                        PokerPotItem pot = NGUITools.AddChild(uiPlayer.side.positionMoney, playmat.prefabBetObject).GetComponent <PokerPotItem>();
                        pot.gameObject.transform.parent = thisPot.transform;
                        pot.OnMove();
                        listPotItems.Add(pot);
                    }
                }
                yield return(new WaitForEndOfFrame());

                foreach (PokerPotItem pot in listPotItems)
                {
                    iTween.MoveTo(pot.gameObject, iTween.Hash("islocal", true, "time", .5f, "position", Vector3.zero));
                }

                StartCoroutine(PlaySound());
                yield return(new WaitForSeconds(.6f));

                while (listPotItems.Count > 0)
                {
                    if (listPotItems[0] != null && listPotItems[0].gameObject != null)
                    {
                        GameObject.Destroy(listPotItems[0].gameObject);
                    }
                    listPotItems.RemoveAt(0);
                    yield return(new WaitForEndOfFrame());
                }
                thisPot.SetAlpha(1);
                yield return(new WaitForEndOfFrame());
            }
            #endregion
        }
        yield return(new WaitForEndOfFrame());

        tablePot.Reposition();
    }