Exemple #1
0
        private bool CouldShowType(int cardIndex)
        {
            var card = PlayerPokers[cardIndex];

            //如果牌被选择了,清理掉该牌
            if (card.IsSelected)
            {
                if (card.Equals(_selectCard1))
                {
                    _selectCard1 = null;
                }
                if (card.Equals(_selectCard2))
                {
                    _selectCard2 = null;
                }
                card.MoveDown();
                return(_selectCard1 != null && _selectCard2 != null && !_selectCard1.Equals(_selectCard2)); //排除点击的牌不是选择牌队列中
            }
            else                                                                                            //没被选中,被选中牌不为2的时候加入选中牌行列
            {
                if (_selectCard1 == null)
                {
                    _selectCard1 = card;
                    card.MoveUp();
                    return(_selectCard2 != null);
                }
                if (_selectCard2 == null)
                {
                    _selectCard2 = card;
                    card.MoveUp();
                    return(_selectCard1 != null);
                }
                return(true);
            }
        }
Exemple #2
0
        /// <summary>
        /// 翻转一张手牌
        /// </summary>
        /// <param name="cardIndex">牌的索引</param>
        /// <param name="val">手牌的值</param>
        /// <param name="withAnim">是否有动画</param>
        internal virtual void TurnCard(int cardIndex, int val, bool withAnim = true)
        {
            PaiJiuCard poker = UserBetPoker.PlayerPokers[cardIndex];

            if (poker == null)
            {
                return;
            }

            int preVal = poker.Id;

            if (preVal == val)
            {
                return;
            }

            poker.SetCardId(val);
            if (withAnim)
            {
                if (preVal == 0)
                {
                    poker.TurnCard();
                }
            }
            else
            {
                if (preVal == 0)
                {
                    poker.SetCardFront();
                }
            }
        }
Exemple #3
0
 public void Reset()
 {
     PlayerPokers.Clear();
     HideAllTypeLabel();
     _selectCard1 = null;
     _selectCard2 = null;
     _groupList.Clear();
 }
Exemple #4
0
        /// <summary>
        /// 按选择的牌的索引排序两个选择的牌.
        /// 避免的错误:避免先选大索引的牌,后选小索引的牌导致换牌导致的错误
        /// </summary>
        private void SortSelet()
        {
            if (_selectCard1.CardIndex < _selectCard2.CardIndex)
            {
                return;
            }
            var temp = _selectCard1;

            _selectCard1 = _selectCard2;
            _selectCard2 = temp;
        }
Exemple #5
0
 public void CleanSelected()
 {
     if (PlayerPokers == null || PlayerPokers.Count == 0)
     {
         return;
     }
     foreach (PaiJiuCard card in PlayerPokers)
     {
         card.MoveDown();
     }
     _selectCard1 = null;
     _selectCard2 = null;
 }
Exemple #6
0
        /// <summary>
        /// 直接显示牌的面值
        /// </summary>
        /// <param name="cardVal"></param>
        /// <param name="index"></param>
        public void SetPokerValue(int cardVal, int index)
        {
            if (index >= PlayerPokers.Count)
            {
                return;
            }

            PaiJiuCard card = PlayerPokers[index];

            if (card == null)
            {
                return;
            }
            card.SetCardId(cardVal);
            card.SetCardFront();
        }
Exemple #7
0
        private void InitViewInfo()
        {
            if (_cardValList.Count <= 0)
            {
                return;
            }

            for (int i = 0; i < _cardValList.Count; i++)
            {
                GameObject go         = GetOne(i);
                PaiJiuCard paijiuCard = go.GetComponent <PaiJiuCard>();
                paijiuCard.SetCardId(_cardValList[i]);
                paijiuCard.SetCardFront();
                go.SetActive(true);
            }
        }
Exemple #8
0
 internal void AddPoker(PaiJiuCard pokerCard)
 {
     PlayerPokers.Add(pokerCard);
 }
Exemple #9
0
 internal void AddPoker(PaiJiuCard pokerCard)
 {
     UserBetPoker.AddPoker(pokerCard);
 }