//添加可操作消息 public static void AddOperateResults(this FiveStarRoom fiveStarRoom, Actor_FiveStar_OperateResult actorFiveStarOperateResult) { //选出以前操作里面的昨天操作级别 但是里面操作级别肯定都一样的所以取第一个就行了 if (fiveStarRoom.BeforeOperateResults.Count > 0) { fiveStarRoom.intData = fiveStarRoom.BeforeOperateResults[0].OperateInfo.OperateType; } else { //以前没有操作 级别默认-1 fiveStarRoom.intData = -1; } //如果操作优先级相同就同时操作 if (fiveStarRoom.intData == actorFiveStarOperateResult.OperateInfo.OperateType) { fiveStarRoom.BeforeOperateResults.Add(actorFiveStarOperateResult);//先记录操作消息 } //如果新消息优先级别高就删除以前的消息 else if (fiveStarRoom.intData < actorFiveStarOperateResult.OperateInfo.OperateType) { fiveStarRoom.BeforeOperateResults.Clear(); fiveStarRoom.BeforeOperateResults.Add(actorFiveStarOperateResult);//先记录操作消息 } //如果新消息优先级低 就忽略 }
public static void SendOperationMessage(int operationType, int card = 0) { Actor_FiveStar_OperateResult operateResult = new Actor_FiveStar_OperateResult(); FiveStarOperateInfo fiveStarOperate = new FiveStarOperateInfo(); fiveStarOperate.OperateType = operationType; fiveStarOperate.Card = card; operateResult.OperateInfo = fiveStarOperate; SessionComponent.Instance.Send(operateResult); }
//玩家进行操作 public static void PlayerOperate(this FiveStarRoom fiveStarRoom, int seatIndex, FiveStarOperateInfo fiveStarOperateInfo) { if (fiveStarRoom.CanOperatePlayerIndex.Contains(seatIndex)) { fiveStarRoom.CanOperatePlayerIndex.Remove(seatIndex); Actor_FiveStar_OperateResult actorFiveStarOperateResult = new Actor_FiveStar_OperateResult(); actorFiveStarOperateResult.SeatIndex = seatIndex; actorFiveStarOperateResult.OperateInfo = fiveStarOperateInfo; fiveStarRoom.AddOperateResults(actorFiveStarOperateResult); //添加操作消息 fiveStarRoom.BroadcastOperateResults(); //广播操作消息 } }
//记录碰杠胡操作信息信息 public static void RecordOperateInfo(this FiveStarRoom fiveStarRoom, Actor_FiveStar_OperateResult operateResult) { fiveStarRoom.RecordInfo(FiveStarVideoOpcode.OperateInfo, operateResult); }
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); } } }