Example #1
0
    /// <summary>
    /// 翻牌
    /// </summary>
    /// <param name="cards"></param>
    public void TurnCards(List <string> cards)
    {
        showCard = true;
        if (cards.Count == 5)
        {
            mHandCard = cards;
        }
        List <Transform> list = mHandCardGid.GetChildList();

        for (int i = 0; i < list.Count; i++)
        {
            TenHandCard handCard = list[i].GetComponent <TenHandCard>();
            if (handCard != null)
            {
                handCard.SetCard(cards[i]);
                if (mHandCardGid.cellWidth > 0)
                {
                    handCard.SetCardDeepsByIndex(i);
                }
                else
                {
                    handCard.SetCardDeepsByIndex(list.Count - i);
                }
                handCard.TurnCard(0.3f, true);
            }
        }
    }
Example #2
0
    /// <summary>
    /// 直接添加一张手牌
    /// </summary>
    /// <param name="value"></param>
    /// <param name="show"></param>
    private void DirectAddOneHandCard(int seatId, int index, string value, bool show = false)
    {
        GameObject  obj  = obj = NGUITools.AddChild(mHandCardGid.gameObject, mHandCardItem);
        TenHandCard card = obj.GetComponent <TenHandCard>();

        obj.gameObject.SetActive(true);

        if (seatId == TenModel.Inst.mMySeatId)
        {
            obj.transform.localScale = new Vector3(2f, 2f, 2f);
        }

        if (value != "0" && !string.IsNullOrEmpty(value))
        {
            card.SetCard(value);
        }

        if (show)
        {
            card.ShowCardNum(value);
        }
        else
        {
            card.ShowCardBg();
        }
        mHandCard.Add(value);

        mHandCardGid.Reposition();
    }
Example #3
0
    /// <summary>
    /// 发牌
    /// </summary>
    /// <param name="seatId"></param>
    /// <param name="cards"></param>
    /// <param name="show"></param>
    /// <param name="type"></param>
    /// <returns></returns>
    private IEnumerator IECastCardWithAnim(int seatId, List <string> cards, bool show, eNNCardsType type = eNNCardsType.Nil)
    {
        if (cards != null)
        {
            for (int i = 0; i < cards.Count; i++)
            {
                GameObject obj = NGUITools.AddChild(mHandCardGid.gameObject, mHandCardItem);
                obj.transform.localScale = Vector3.one;
                obj.SetActive(true);
                TenHandCard card = obj.GetComponent <TenHandCard>();

                if (show)
                {
                    card.ShowCardNum(cards[i]);                //显示牌正面
                    card.SetCardDeepsByIndex(GetCardsIndex()); ////设置牌背层级
                }
                else
                {
                    card.ShowCardBg();                           //显示牌背
                    card.SetCardBgDeepsByIndex(GetCardsIndex()); ////设置牌背层级
                }

                obj.transform.position = mDealCardStartPos.position;
                Vector3 dpos  = new Vector3(mHandCardGid.cellWidth * GetCardsIndex(), 0, 0);
                bool    large = seatId == TenModel.Inst.mMySeatId ? true : false;
                DealCardMove(card, dpos, 0.2f, large);
                mHandCard.Add(cards[i]);
                yield return(new WaitForSeconds(0.1f));
            }
        }
    }
Example #4
0
    /// <summary>
    /// 翻牌后移动牌
    /// </summary>
    /// <param name="cards"></param>
    public void SeparateCards(List <int> three)
    {
        Vector3 finalPos = Vector3.zero;

        if (three == null || three.Count <= 0)
        {
            for (int i = 0; i < mHandCard.Count; i++)
            {
                if (SeatId == TenModel.Inst.mMySeatId)
                {
                    finalPos = new Vector3(100 * i * (mHandCardGid.cellWidth / Mathf.Abs(mHandCardGid.cellWidth)), 0, 0);
                }
                else
                {
                    finalPos = new Vector3(50 * i * (mHandCardGid.cellWidth / Mathf.Abs(mHandCardGid.cellWidth)), 0, 0);
                }
                TenHandCard card = mHandCardGid.transform.GetChild(i).GetComponent <TenHandCard>();
                card.Move(finalPos, .5f);//移动到最终位置
            }
        }
        else
        {
            List <int> newThree = new List <int>();
            List <int> newTwo   = new List <int>();
            List <int> result   = new List <int>();


            for (int i = 0; i < three.Count; i++)
            {
                newThree.Add(three[i] - 1);
                if (SeatId == TenModel.Inst.mMySeatId)
                {
                    finalPos = new Vector3(100 * i * (mHandCardGid.cellWidth / Mathf.Abs(mHandCardGid.cellWidth)), 0, 0);
                }
                else
                {
                    finalPos = new Vector3(50 * i * (mHandCardGid.cellWidth / Mathf.Abs(mHandCardGid.cellWidth)), 0, 0);
                }
                TenHandCard card = mHandCardGid.transform.GetChild(newThree[i]).GetComponent <TenHandCard>();
                card.Move(finalPos, .5f);//移动到最终位置
            }

            int temp = 0;

            for (int i = 0; i < mHandCard.Count; i++)
            {
                if (!newThree.Contains(i))
                {
                    newTwo.Add(i);
                    if (SeatId == TenModel.Inst.mMySeatId)
                    {
                        finalPos = new Vector3(100 * (newThree.Count + 1 + temp) * (mHandCardGid.cellWidth / Mathf.Abs(mHandCardGid.cellWidth)), 0, 0);
                    }
                    else
                    {
                        finalPos = new Vector3(50 * (newThree.Count + 1 + temp) * (mHandCardGid.cellWidth / Mathf.Abs(mHandCardGid.cellWidth)), 0, 0);
                    }
                    TenHandCard card = mHandCardGid.transform.GetChild(newTwo[temp]).GetComponent <TenHandCard>();
                    card.Move(finalPos, .5f);//移动到最终位置
                    temp++;
                }
            }
        }
    }
Example #5
0
 /// <summary>
 /// 发牌延迟移动
 /// </summary>
 /// <param name="card"></param>
 /// <param name="dpos"></param>
 /// <param name="time"></param>
 /// <param name="delayTime"></param>
 /// <param name="isEnlarge"></param>
 private void DealCardMove(TenHandCard card, Vector3 dpos, float time, bool isEnlarge)
 {
     card.Move(dpos, time, isEnlarge);//移动到目标位置
 }