示例#1
0
        //收到玩家局内数据时触发
        private void GameSokReceive(Player ply, NetInfoBase info)
        {
            switch ((GameOrderType)info.OrderType)
            {
            case GameOrderType.玩家叫分:
            {
                int score = int.Parse(info.Tag);
                this.SomeoneJiaofen(ply, score);
                break;
            }

            case GameOrderType.出牌:
            {
                var          p  = JsonConvert.DeserializeAnonymousType(info.JsonData, new { pks = new NetPoker[0], type = OutPokerType.Error_Card });
                OutPokerType ty = p.type;
                if (ty == OutPokerType.炸弹 || ty == OutPokerType.王炸)
                {
                    this.Multiple *= 2;
                }
                this.SomeoneOutPoker(ply, p.pks);
                break;
            }

            case GameOrderType.玩家已准备:
            {
                this.readyCount++;
                if (readyCount >= 3)
                {
                    AllPlayerReady();
                }
                break;
            }
            }
        }
示例#2
0
    public static OutPokerType checkOutPokerType(List <TLJCommon.PokerInfo> outPokerList, int mLevelPokerNum, int masterPokerType)
    {
        // 优先使用热更新的代码
        if (ILRuntimeUtil.getInstance().checkDllClassHasFunc("CheckOutPoker_hotfix", "checkOutPokerType"))
        {
            OutPokerType outPokerType = (OutPokerType)ILRuntimeUtil.getInstance().getAppDomain().Invoke("HotFix_Project.CheckOutPoker_hotfix", "checkOutPokerType", null, outPokerList, mLevelPokerNum, masterPokerType);
            return(outPokerType);
        }

        PlayRuleUtil.SetPokerWeight(outPokerList, mLevelPokerNum, (Consts.PokerType)masterPokerType);

        int count = outPokerList.Count;

        if (count == 0)
        {
            return(OutPokerType.OutPokerType_Error);
        }
        // 单牌
        else if (count == 1)
        {
            return(OutPokerType.OutPokerType_Single);
        }
        // 检查是否是对子
        else if (count == 2)
        {
            if ((outPokerList[0].m_pokerType == outPokerList[1].m_pokerType) && (outPokerList[0].m_num == outPokerList[1].m_num))
            {
                return(OutPokerType.OutPokerType_Double);
            }
        }
        else if (count % 2 == 0 && count >= 4)
        {
            if (PlayRuleUtil.IsTuolaji(outPokerList, mLevelPokerNum, masterPokerType))
            {
//                TLJ_PlayService.PlayService.log.Info("出的是拖拉机");
                return(OutPokerType.OutPokerType_TuoLaJi);
            }
        }
//        TLJ_PlayService.PlayService.log.Info("有人尝试甩牌");
        return(OutPokerType.OutPokerType_ShuaiPai);
    }