示例#1
0
    private void CheckSelfAddCardFunc(List <Int64> list, List <Int64> RevealCardList, Int64 mopai)
    {
        Int64 cardID      = 0;
        int   num         = 3;
        int   canGangCard = CardRules.CheckBySelfAddCardIsCanGang(list, mopai, laizi, GetLaizipi(laizi));

        if (canGangCard != 0)
        {
            num++;
            cardID = canGangCard;
        }

        if (CardRules.PopEnable(RevealCardList, mopai, GetLaizipi(laizi)) == 3)//检测回头笑的情况
        {
            num++;
            cardID = mopai;
        }

        if (CardRules.IsHupai(list, laizi, mopai, gameRule))
        {
            num += 2;;
        }
        if (num != 3)
        {
            EventDispatcher.GetInstance().UIFrameWorkEventManager.TriggerEvent <Int64, Int64>(EventId.SelfCanPengOrGang, num, cardID);//自己摸牌判断是否可以用杠
        }
    }
示例#2
0
    /// <summary>
    /// 别人出牌后,检测自己是否可以碰或者点杠
    /// </summary>
    public int CheckOtherPlayCard(Int64 cardID, Int64 laizipi)
    {
        int        temp = 0;
        int        flag = 0;;
        PlayerData data;

        data = _infoList[(Int32)selfOrderIndex - 1];
        if (CardRules.PopEnable(data.HandCardList, cardID, laizipi) == 2)
        {
            flag = 2;
        }
        else if (CardRules.PopEnable(data.HandCardList, cardID, laizipi) == 3)
        {
            flag = 3;
            if (cardID == laizipi)
            {
                flag = 4;
            }
            // EventDispatcher.GetInstance().UIFrameWorkEventManager.TriggerEvent<Int64, Int64>(EventId.SelfCanPengOrGang, 3, cardID);
        }
        if (CardRules.IsHupai(data.HandCardList, laizi, cardID, gameRule))
        {
            // temp = 5;
            if (flag == 2)
            {
                flag = 7;
            }
            else if (flag == 3)
            {
                flag = 8;
            }
            else if (flag == 0)
            {
                flag = 9;
            }
        }

        // CheckSelfAddCard(cardID, laizi, laizipi);
        //  CheckSelfByAddCard();
        return(flag);
    }