Ejemplo n.º 1
0
        /// <summary>
        /// 点击出牌按钮
        /// </summary>
        public void OnChuPaiClick()
        {
            //Debug.Log("<color=#0021FFFF>" + "点击出牌按钮点击出牌按钮点击出牌按钮点击出牌按钮点击出牌按钮点击出牌按钮" + "</color>");
            int[] cardArr = HdCdctrlInstance.GetUpCdList().ToArray();

            //判断是否需要检测黑三先出,如果手牌有黑三,出的牌没黑三不能出牌
            if (App.GetGameData <GlobalData>().IsHeiSanFirst)
            {
                bool hdhasHeisan = HdCdsListTemp.Any(cd => PokerRuleUtil.GetValue(cd) == 3 && PokerRuleUtil.GetColor(cd) == 4);

                if (hdhasHeisan)
                {
                    bool otcdHasHeisan = cardArr.Any(cd => PokerRuleUtil.GetValue(cd) == 3 && PokerRuleUtil.GetColor(cd) == 4);
                    if (!otcdHasHeisan)
                    {
                        ShowWarnInfo("有黑3必须先出黑3!");
                        return;
                    }
                }
            }

            if (_isRpLeftOne && cardArr.Length == 1 && HdCdsListTemp.Count > 1)
            {
                var cdsValue = PokerRuleUtil.GetSortedValues(HdCdsListTemp.ToArray());
                if (PokerRuleUtil.GetValue(cardArr[0]) != PokerRuleUtil.GetValue(cdsValue[cdsValue.Length - 1]))
                {
                    ShowWarnInfo("下家报单必须出最大!");
                    return;
                }
            }


            SendOutCdsRequest(cardArr);
        }