//添加可操作消息
 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();                     //广播操作消息
            }
        }
Exemple #4
0
 //记录碰杠胡操作信息信息
 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);
         }
     }
 }