/// <summary> /// 只在客户端调用,得到能够亮主的牌 /// </summary> /// <param name="handerPoker"></param> /// <param name="liangZhuPoker"></param> /// <param name="mLevelPokerNum"></param> /// <param name="masterPokerType"></param> /// <returns></returns> public static List <PokerInfo> GetLiangzhuPoker(List <PokerInfo> handerPoker, List <PokerInfo> liangZhuPoker, int mLevelPokerNum, int masterPokerType) { // 优先使用热更新的代码 if (ILRuntimeUtil.getInstance().checkDllClassHasFunc("PlayRuleUtil_hotfix", "GetLiangzhuPoker")) { List <PokerInfo> list_temp = (List <PokerInfo>)ILRuntimeUtil.getInstance().getAppDomain().Invoke("HotFix_Project.PlayRuleUtil_hotfix", "GetLiangzhuPoker", null, handerPoker, liangZhuPoker, mLevelPokerNum, masterPokerType); return(list_temp); } List <PokerInfo> pokerInfos = new List <PokerInfo>(); List <PokerInfo> jiPaiAndWang = PlayRuleUtil.GetJiPaiAndWang(handerPoker, mLevelPokerNum); if (jiPaiAndWang.Count == 0) { return(pokerInfos); } //第一次亮主 if (liangZhuPoker == null || liangZhuPoker.Count == 0) { for (int i = 0; i < handerPoker.Count; i++) { if (handerPoker[i].m_num == mLevelPokerNum) { pokerInfos.Add(handerPoker[i]); } } List <PokerInfo> doublePoker = PlayRuleUtil.GetDoublePoker(jiPaiAndWang); //大小王 foreach (var poker in doublePoker) { if (poker.m_pokerType == Consts.PokerType.PokerType_Wang) { pokerInfos.Add(poker); } } return(pokerInfos); } else if (liangZhuPoker.Count == 1) { List <PokerInfo> doublePoker = PlayRuleUtil.GetDoublePoker(jiPaiAndWang); return(doublePoker); } else if (liangZhuPoker.Count == 2) { Consts.PokerType mPokerType = liangZhuPoker[0].m_pokerType; List <PokerInfo> doublePoker = PlayRuleUtil.GetDoublePoker(jiPaiAndWang); for (int i = 0; i < doublePoker.Count - 1; i += 2) { if (doublePoker[i].m_pokerType > mPokerType) { pokerInfos.Add(doublePoker[i]); pokerInfos.Add(doublePoker[i + 1]); } if (liangZhuPoker[0].m_num == 15 && doublePoker[i].m_num == 16) { pokerInfos.Add(doublePoker[i]); pokerInfos.Add(doublePoker[i + 1]); // ToastScript.createToast("dawang"); } } return(pokerInfos); } else { return(pokerInfos); } }
/// <summary> /// 只在客户端调用,得到能够亮主的牌 /// </summary> /// <param name="handerPoker"></param> /// <param name="liangZhuPoker"></param> /// <param name="mLevelPokerNum"></param> /// <param name="masterPokerType"></param> /// <returns></returns> public static List <PokerInfo> GetLiangzhuPoker(List <PokerInfo> handerPoker, List <PokerInfo> liangZhuPoker, int mLevelPokerNum, int masterPokerType) { List <PokerInfo> pokerInfos = new List <PokerInfo>(); List <PokerInfo> jiPaiAndWang = PlayRuleUtil.GetJiPaiAndWang(handerPoker, mLevelPokerNum); if (jiPaiAndWang.Count == 0) { return(pokerInfos); } //第一次亮主 if (liangZhuPoker == null || liangZhuPoker.Count == 0) { for (int i = 0; i < handerPoker.Count; i++) { if (handerPoker[i].m_num == mLevelPokerNum) { pokerInfos.Add(handerPoker[i]); } } List <PokerInfo> doublePoker = PlayRuleUtil.GetDoublePoker(jiPaiAndWang); //大小王 foreach (var poker in doublePoker) { if (poker.m_pokerType == Consts.PokerType.PokerType_Wang) { pokerInfos.Add(poker); } } return(pokerInfos); } else if (liangZhuPoker.Count == 1) { List <PokerInfo> doublePoker = PlayRuleUtil.GetDoublePoker(jiPaiAndWang); return(doublePoker); } else if (liangZhuPoker.Count == 2) { Consts.PokerType mPokerType = liangZhuPoker[0].m_pokerType; List <PokerInfo> doublePoker = PlayRuleUtil.GetDoublePoker(jiPaiAndWang); for (int i = 0; i < doublePoker.Count - 1; i += 2) { if (doublePoker[i].m_pokerType > mPokerType) { pokerInfos.Add(doublePoker[i]); pokerInfos.Add(doublePoker[i + 1]); } if (liangZhuPoker[0].m_num == 15 && doublePoker[i].m_num == 16) { pokerInfos.Add(doublePoker[i]); pokerInfos.Add(doublePoker[i + 1]); // ToastScript.createToast("dawang"); } } return(pokerInfos); } else { return(pokerInfos); } }