//玩家摸牌 public static void MoPai(this FiveStarPlayer fiveStarPlayer, int card) { card = fiveStarPlayer.AIMoPaiDispose(card); //AI摸牌处理 fiveStarPlayer.MoEndHand = card; //记录摸的最后一张手牌 fiveStarPlayer.Hands.Add(card); //广播给客户端摸牌消息 但是只有摸的人 牌才是对的 Actor_FiveStar_MoPai actorFiveStarMoPai = new Actor_FiveStar_MoPai(); actorFiveStarMoPai.SeatIndex = fiveStarPlayer.SeatIndex; actorFiveStarMoPai.Card = card; fiveStarPlayer.FiveStarRoom.RecordMoCard(actorFiveStarMoPai);//记录摸牌消息 fiveStarPlayer.SendMessageUser(actorFiveStarMoPai); actorFiveStarMoPai.Card = -1; fiveStarPlayer.SendMessageOtherUser(actorFiveStarMoPai); fiveStarPlayer.Hands.Sort();//每次检测前要把手牌排序一下 if (fiveStarPlayer.IsCanOperate()) { fiveStarPlayer.CanOperate(FiveStarOperateType.ChuCard); } else { fiveStarPlayer.CanChuPai(); } }
//记录摸牌信息 public static void RecordMoCard(this FiveStarRoom fiveStarRoom, Actor_FiveStar_MoPai moCardInfo) { fiveStarRoom.RecordInfo(FiveStarVideoOpcode.MoCard, moCardInfo); }
public IEnumerator StarPlay(List <object> datas) { UIComponent.GetUiView <CardFiveStarVideoPanelComponent>().SetTotalScheduleText(datas.Count - 1); //初始化不算步骤 所有减一 _ResideNum = 84; //初始化牌数量 _VideoData = datas; for (int i = 0; i < datas.Count; i++) { UIComponent.GetUiView <CardFiveStarVideoPanelComponent>().SetCurrScheduleText(i); object data = datas[i]; if (data.GetType() == typeof(Video_GameInit)) { Video_GameInit meesage = data as Video_GameInit; GameInit(meesage); } else if (data.GetType() == typeof(Video_Deal)) { Video_Deal meesage = data as Video_Deal; Deal(meesage); yield return(new WaitForSeconds(2f)); } else if (data.GetType() == typeof(Video_PiaoFen)) { Video_PiaoFen meesage = data as Video_PiaoFen; _Coroutines[_Coroutines.Length - 1] = CoroutineMgr.StartCoroutinee(PiaoFen(meesage)); yield return(new WaitForSeconds(2f)); } else if (data.GetType() == typeof(Actor_FiveStar_PlayCardResult)) { Actor_FiveStar_PlayCardResult meesage = data as Actor_FiveStar_PlayCardResult; _PlayerDic[meesage.SeatIndex].Video_ChuCard(meesage.Card); CurrEndChuCardSeatIndex = meesage.SeatIndex; yield return(new WaitForSeconds(1f)); } else if (data.GetType() == typeof(Actor_FiveStar_MoPai)) { Actor_FiveStar_MoPai meesage = data as Actor_FiveStar_MoPai; _PlayerDic[meesage.SeatIndex].Video_MoCard(meesage.Card); ReduceCardTotalNum(1);//显示减少一张牌的数量 yield return(new WaitForSeconds(0.5f)); } else if (data.GetType() == typeof(Actor_FiveStar_OperateResult)) { Actor_FiveStar_OperateResult meesage = data as Actor_FiveStar_OperateResult; _PlayerDic[meesage.SeatIndex].Video_PengGangHu(meesage.OperateInfo.OperateType, meesage.OperateInfo.Card, meesage.OperateInfo.PlayCardIndex); yield return(new WaitForSeconds(1f)); } else if (data.GetType() == typeof(Actor_FiveStar_LiangDao)) { Actor_FiveStar_LiangDao meesage = data as Actor_FiveStar_LiangDao; _PlayerDic[meesage.SeatIndex].Video_LiangDao(); yield return(new WaitForSeconds(1f)); } else if (data.GetType() == typeof(Actor_FiveStar_MaiMa)) { Actor_FiveStar_MaiMa meesage = data as Actor_FiveStar_MaiMa; MaiMa(meesage); yield return(new WaitForSeconds(2f)); } else if (data.GetType() == typeof(Actor_FiveStar_SmallResult)) { Actor_FiveStar_SmallResult meesage = data as Actor_FiveStar_SmallResult; ShowSmallResult(meesage); } } }