//显示小结算玩家信息 public void ShowSmallResult(Actor_FiveStar_SmallResult smallResult) { Show(); PlayMusic(smallResult); //根据情况播放音乐 if (CardFiveStarRoom.Ins != null) //如果room的Ins等于空 说明在录像模式 { CurrRoomType = CardFiveStarRoom.Ins._RoomType; } else { CurrRoomType = RoomType.RoomCard;//录像只能是房卡模式 } if (CurrRoomType == RoomType.Match) { ShowMatchUI(); } else if (CurrRoomType == RoomType.RoomCard) { ShowRoomCardUI(); } for (int i = 0; i < smallResult.SmallPlayerResults.Count; i++) { _smallPlayerInfos[i].SetUI(smallResult.SmallPlayerResults[i]); } for (int i = smallResult.SmallPlayerResults.Count; i < _smallPlayerInfos.Count; i++) { _smallPlayerInfos[i].Hide(); } ShowMaiMaPai(smallResult.MaiMaCard); }
//计算下局谁坐庄先摸牌 和如果是四人房谁 休息 //发送小结算消息 public static void SendSamllResults(this FiveStarRoom fiveStarRoom) { Actor_FiveStar_SmallResult actorFiveStarSmall = new Actor_FiveStar_SmallResult(); actorFiveStarSmall.SmallPlayerResults = fiveStarRoom.SmallPlayerResults; actorFiveStarSmall.MaiMaCard = fiveStarRoom.MaiMaCard; //买马的牌 赋值 fiveStarRoom.RecordSmallResult(actorFiveStarSmall); //记录小结算信息 fiveStarRoom.BroadcastMssagePlayers(actorFiveStarSmall); }
//游戏小结算 public void SmllResult(Actor_FiveStar_SmallResult message) { _RoomState = RoomStateType.ReadyIn; for (int i = 0; i < message.SmallPlayerResults.Count; i++) { _ServerSeatIndexInPlayer[message.SmallPlayerResults[i].SeatIndex] .SmallResult(message.SmallPlayerResults[i]); //显示该玩家的牌 } }
//显示小结算 public void ShowSmallResult(Actor_FiveStar_SmallResult result) { if (result.RpcId != -1) { Actor_FiveStar_SmallResultHandler.AwayWinnerWinCard(result); result.RpcId = -1; } UIComponent.GetUiView <FiveStarSmallResultPanelComponent>().ShowSmallResult(result); }
//存储小局战绩信息 public static void SaveParticularMiltary(this FiveStarRoom fiveStarRoom, Actor_FiveStar_SmallResult actorFiveStarSmall) { //只有房卡才记录 if (fiveStarRoom.RoomType != RoomType.RoomCard) { return; } ParticularMiltary particularMiltary = ComponentFactory.Create <ParticularMiltary>(); particularMiltary.DataId = fiveStarRoom.StartVideoDataId + fiveStarRoom.CurrOfficNum; //录像数据ID particularMiltary.Time = TimeTool.GetCurrenTimeStamp(); //当前时间 for (int i = 0; i < actorFiveStarSmall.SmallPlayerResults.Count; i++) { particularMiltary.GetScoreInfos.Add(actorFiveStarSmall.SmallPlayerResults[i].GetScore); //得分情况 } fiveStarRoom.ParticularMiltarys.Add(particularMiltary); //添加到小局信息里面 fiveStarRoom.SaveParticularMiltaryRecordData(particularMiltary.DataId); //存储当前小局对战具体信息 }
//播放音乐 public void PlayMusic(Actor_FiveStar_SmallResult smallResult) { for (int i = 0; i < smallResult.SmallPlayerResults.Count; i++) { CardFiveStarPlayer cardFiveStarPlayer; if (CardFiveStarRoom.Ins != null) { cardFiveStarPlayer = CardFiveStarRoom.Ins.GetFiveStarPlayer(smallResult.SmallPlayerResults[i].SeatIndex); } else { cardFiveStarPlayer = FiveStarVideoRoom.Ins.GetFiveStarPlayer(smallResult.SmallPlayerResults[i].SeatIndex); } if (cardFiveStarPlayer._user.UserId == UserComponent.Ins.pUserId) { if (smallResult.SmallPlayerResults[i].GetScore > 0) { UIComponent.GetUiView <CardFiveStarRoomPanelComponent>().PlayMusic(CardFiveRoomMusicType.Win); //播放胜利背景音乐 return; } } } UIComponent.GetUiView <CardFiveStarRoomPanelComponent>().PlayMusic(CardFiveRoomMusicType.Lose); //播放失败背景音乐 }
//记录小结算信息 public static void RecordSmallResult(this FiveStarRoom fiveStarRoom, Actor_FiveStar_SmallResult smallResult) { fiveStarRoom.RecordInfo(FiveStarVideoOpcode.SmallResult, smallResult); fiveStarRoom.SaveParticularMiltary(smallResult);//正常小结算直接存储 }
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); } } }