Пример #1
0
        //记录每小局初始化信息
        public static void DealFinishRecordGameInitInfo(this FiveStarRoom fiveStarRoom)
        {
            //只有房卡才记录
            if (fiveStarRoom.RoomType != RoomType.RoomCard)
            {
                return;
            }
            Video_GameInit videoGameInit = new Video_GameInit();

            videoGameInit.RoomConfigs  = fiveStarRoom.RoomConfig.Configs;
            videoGameInit.RoomNumber   = fiveStarRoom.RoomId;
            videoGameInit.PlayerInfos  = fiveStarRoom.GetVideoPlayers();
            videoGameInit.OfficeNumber = fiveStarRoom.CurrOfficNum;
            //记录初始化信息
            fiveStarRoom.RecordInfo(FiveStarVideoOpcode.GameInit, videoGameInit);
        }
Пример #2
0
        public static void Video_GameInitDispose(List <object> objects, Video_GameInit gameInit)
        {
            objects.Add(gameInit);
            Video_Deal    deal    = new Video_Deal();
            Video_PiaoFen piaofen = new Video_PiaoFen();

            for (int j = 0; j < gameInit.PlayerInfos.Count; j++)
            {
                deal.AllHands.Add(gameInit.PlayerInfos[j].Hands);
                piaofen.PiaoFens.Add(gameInit.PlayerInfos[j].PiaoFen);
            }
            FiveStarRoomConfig foveConfig = FiveStarRoomConfigFactory.Create(gameInit.RoomConfigs);

            if (foveConfig.MaxPiaoNum > 0)
            {
                objects.Add(piaofen);
            }
            objects.Add(deal);
        }
Пример #3
0
        public static List <object> DisposeRecordData(RepeatedField <MiltaryRecordData> datas)
        {
            List <object> finshDispseDatas = new List <object>();

            for (int i = 0; i < datas.Count; i++)
            {
                byte[] bytes = datas[i].Data.bytes;
                switch (datas[i].Opcode)
                {
                case FiveStarVideoOpcode.GameInit:
                    Video_GameInit gameInit = FromBytes <Video_GameInit>(bytes) as Video_GameInit;
                    Video_GameInitDispose(finshDispseDatas, gameInit);
                    break;

                case FiveStarVideoOpcode.ChuCard:
                    finshDispseDatas.Add(FromBytes <Actor_FiveStar_PlayCardResult>(bytes));
                    break;

                case FiveStarVideoOpcode.MoCard:
                    finshDispseDatas.Add(FromBytes <Actor_FiveStar_MoPai>(bytes));
                    break;

                case FiveStarVideoOpcode.OperateInfo:
                    finshDispseDatas.Add(FromBytes <Actor_FiveStar_OperateResult>(bytes));
                    break;

                case FiveStarVideoOpcode.LiangDao:
                    finshDispseDatas.Add(FromBytes <Actor_FiveStar_LiangDao>(bytes));
                    break;

                case FiveStarVideoOpcode.MaiMa:
                    finshDispseDatas.Add(FromBytes <Actor_FiveStar_MaiMa>(bytes));
                    break;

                case FiveStarVideoOpcode.SmallResult:
                    finshDispseDatas.Add(FromBytes <Actor_FiveStar_SmallResult>(bytes));
                    break;
                }
            }
            return(finshDispseDatas);
        }
Пример #4
0
        //录像房间信息初始化
        private void GameInit(Video_GameInit gameInit)
        {
            if (_PlayerDic.Count > 0)
            {
                return;
            }

            //初始化房间信息
            _RoomConfig = FiveStarRoomConfigFactory.Create(gameInit.RoomConfigs);
            string roomInfo = "房号:" + gameInit.RoomNumber + "      " + gameInit.OfficeNumber + "/" +
                              _RoomConfig.MaxJuShu + "局      " + _RoomConfig.RoomNumber + "人局";

            _CurrRoomOffice = gameInit.OfficeNumber;
            _roomPanel.SetRoomInfo(roomInfo);
            //先隐藏所有玩家头像
            EventMsgMgr.SendEvent(CardFiveStarEventID.HideAllPlayer);

            //先记录出当前位置的服务器
            int selfSelfIndex = 0;

            for (int i = 0; i < gameInit.PlayerInfos.Count; i++)
            {
                if (gameInit.PlayerInfos[i].UserId == UserComponent.Ins.pUserId)
                {
                    selfSelfIndex = i;
                    break;
                }
            }
            //创建玩家头像信息
            for (int i = 0; i < gameInit.PlayerInfos.Count; i++)
            {
                User user = new User();
                user.Name     = gameInit.PlayerInfos[i].Name;
                user.Icon     = gameInit.PlayerInfos[i].Icon;
                user.UserId   = gameInit.PlayerInfos[i].UserId;
                user.IsOnLine = true;
                CardFiveStarPlayer player = CardFiveStarPlayerFactory.Creator(user, i, selfSelfIndex, _RoomConfig.RoomNumber, _roomPanel.mPlayerUIsGo.transform, gameInit.PlayerInfos[i].NowScore);//创建用户
                _PlayerDic[gameInit.PlayerInfos[i].SeatIndex] = player;
            }
        }
Пример #5
0
 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);
         }
     }
 }