//记录每小局初始化信息 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); }
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); }
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); }
//录像房间信息初始化 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; } }
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); } } }