/// <summary> /// 当玩家处于下注时,重连的显示按钮 /// </summary> /// <param name="data"></param> public void SetSeatInfoOperation(TransferData data) { SeatEntity seat = data.GetValue <SeatEntity>("Seat"); ENUM_ROOM_STATUS roomStatus = data.GetValue <ENUM_ROOM_STATUS>("RoomStatus"); bool IsPlayer = data.GetValue <bool>("IsPlayer"); RoomEntity CurrentRoom = data.GetValue <RoomEntity>("Room"); if (m_nSeatIndex == seat.Index) { if (seat.seatStatus == ENUM_SEAT_STATUS.BET && seat.seatToperateStatus != ENUM_SEATOPERATE_STATUS.Discard) { //if (seat.pos==RoomZhaJHProxy.Instance.PlayerSeat.pos) //{ guangshu.SetActive(true); TransferData data1 = new TransferData(); data1.SetValue("round", CurrentRoom.round); data1.SetValue("totalRound", CurrentRoom.totalRound); data1.SetValue("Fen", CurrentRoom.roomPour); data1.SetValue("Seat", seat); ModelDispatcher.Instance.Dispatch(ZhaJHMethodname.OnZJHBtnShow, data1); ModelDispatcher.Instance.Dispatch(ZhaJHMethodname.OnZJHHidFen, data1); if (RoomZhaJHProxy.Instance.btnGDD) { ZhaJHGameCtrl.Instance.WithNotes(null); } //} } } }
/// <summary> /// 座位信息变更回调 /// </summary> /// <param name="obj"></param> private void OnSeatInfoChanged(TransferData data) { if (seatMask.activeSelf) { seatMask.GetComponent <ItemSeatMask>().OnBtnClik(); } SeatEntity seat = data.GetValue <SeatEntity>("Seat"); RoomEntity room = data.GetValue <RoomEntity>("Room"); bool isPlayer = data.GetValue <bool>("IsPlayer"); ENUM_ROOM_STATUS roomStatus = data.GetValue <ENUM_ROOM_STATUS>("RoomStatus"); if (isPlayer || RoomZhaJHProxy.Instance.PlayerSeat == seat) { if (seat.pos == 7) { m_ButtonLicensing.gameObject.SetActive(false); m_ButtonReady.gameObject.SetActive(false); //检查手机上是否有微信,如果有的话打开微信邀请按钮 if (!SystemProxy.Instance.IsInstallWeChat || !SystemProxy.Instance.IsOpenWXLogin) { if (m_ButtonShare != null) { m_ButtonShare.gameObject.SetActive(false); } } else { m_ButtonShare.gameObject.SetActive(true); } } else { m_ButtonReady.gameObject.SetActive(room.currentLoop != room.maxLoop && (seat.seatStatus == ENUM_SEAT_STATUS.IDLE || seat.seatStatus == ENUM_SEAT_STATUS.SETTLEMENT) && (roomStatus == ENUM_ROOM_STATUS.MATCH_STATUS_RESULT || roomStatus == ENUM_ROOM_STATUS.IDLE || roomStatus == ENUM_ROOM_STATUS.SETTLEMENT)); if (room.roomSettingId == RoomMode.Senior) { m_ButtonLicensing.gameObject.SetActive(false); } else { m_ButtonLicensing.gameObject.SetActive(room.currentLoop == 0 && seat.homeLorder && (roomStatus == ENUM_ROOM_STATUS.IDLE || roomStatus == ENUM_ROOM_STATUS.ROOMDISSOLUTION)); //&& seat.LicensingButton == true if (seat.pos == 1) if (roomStatus == ENUM_ROOM_STATUS.IDLE) { m_ButtonLightPoker.gameObject.SetActive(false); } //else m_ButtonLicensing.gameObject.SetActive(false); } if (!SystemProxy.Instance.IsInstallWeChat || !SystemProxy.Instance.IsOpenWXLogin) { if (m_ButtonShare != null) { m_ButtonShare.gameObject.SetActive(false); } } else { m_ButtonShare.gameObject.SetActive((seat.seatStatus == ENUM_SEAT_STATUS.IDLE || seat.seatStatus == ENUM_SEAT_STATUS.READY) && seat.homeLorder && roomStatus == ENUM_ROOM_STATUS.IDLE && room.roomSettingId != RoomMode.Senior); } } } }
/// <summary> /// 通知下注 /// </summary> public void OnSeatInfoBet(TransferData data) { SeatEntity seat = data.GetValue <SeatEntity>("Seat"); RoomEntity room = data.GetValue <RoomEntity>("Room"); ENUM_ROOM_STATUS roomStatus = data.GetValue <ENUM_ROOM_STATUS>("RoomStatus"); SetSeatInfo(seat, roomStatus); }
public void build(byte[] data) { ByteBuffer buf = ByteBuffer.wrap(data); for (int i = 0; i < this.__flag.Length; i++) { this.__flag[i] = buf.get(); } if (this.hasStatus()) { this.status = (ENUM_ROOM_STATUS)buf.get(); } }
private void OnSeatInfoChanged(TransferData data) { SeatEntity seat = data.GetValue <SeatEntity>("Seat"); ENUM_ROOM_STATUS roomStatus = data.GetValue <ENUM_ROOM_STATUS>("RoomStatus"); bool IsPlayer = data.GetValue <bool>("IsPlayer"); RoomEntity room = data.GetValue <RoomEntity>("Room"); RoomEntity CurrentRoom = data.GetValue <RoomEntity>("Room"); SetSeatInfo(seat, roomStatus); //if (seat.pokerList.Count == 0 && seat.Index == m_nSeatIndex) ClosePoker(); if (roomStatus == ENUM_ROOM_STATUS.IDLE || roomStatus == ENUM_ROOM_STATUS.ROOMDISSOLUTION || roomStatus == ENUM_ROOM_STATUS.SETTLEMENT || roomStatus == ENUM_ROOM_STATUS.READY) { return; } SetSeatInfoTwo(seat, roomStatus); }
/// <summary> /// 根据下注的Item来对象实例化筹码 /// </summary> /// <param name="seat"></param> /// <param name="roomStatus"></param> private void SeatChip(SeatEntity seat, ENUM_ROOM_STATUS roomStatus) { if (m_nSeatIndex == seat.Index) { Remainder(seat.betPoints); if (oneHundred != 0) { InstantiationChip(oneHundred, 100); oneHundred = 0; } if (Fifty != 0) { InstantiationChip(Fifty, 50); Fifty = 0; } //if (Forty!=0) //{ // InstantiationChip(Forty, 40); // Forty = 0; //} if (Twenty != 0) { InstantiationChip(Twenty, 20); Twenty = 0; } if (ten != 0) { InstantiationChip(ten, 10); ten = 0; } if (five != 0) { InstantiationChip(five, 5); five = 0; } if (two != 0) { InstantiationChip(two, 2); two = 0; } if (one != 0) { InstantiationChip(one, 1); one = 0; } } }
/// <summary> /// 断线重连和中途加入实例化牌 /// </summary> /// <param name="seat"></param> /// <param name="roomStatus"></param> public void SetSeatInfoTwo(SeatEntity seat, ENUM_ROOM_STATUS roomStatus) { if (m_nSeatIndex == seat.Index) { if (seat.seatStatus != ENUM_SEAT_STATUS.IDLE && seat.seatStatus != ENUM_SEAT_STATUS.READY)//&& seat.seatStatus != ENUM_SEAT_STATUS.DEAL && seat.seatStatus != ENUM_SEAT_STATUS.DEAL //seat.seatStatus != ENUM_SEAT_STATUS.IDLE &&seat.seatStatus != ENUM_SEAT_STATUS.READY { string stateName = seat.seatStatus == ENUM_SEAT_STATUS.THECARD ? (seat.Index == 1 || seat.Index == 2 || seat.Index == 6) ? "img_shibaiyou" : "img_shibaizuo" : (seat.Index == 1 || seat.Index == 2 || seat.Index == 3) ? "img_qipaiyou" : "img_qipaizuo"; string pokerStatus = (seat.Index == 1 || seat.Index == 2 || seat.Index == 6) ? "img_yikanpaiyou" : "img_yikanpaizuo"; //#### 如果在游戏中,并且看牌了 if (seat.pokerStatus == ENUM_POKER_STATUS.POSITIVE) { //####如果在游戏中,看牌后弃牌了 if (seat.seatToperateStatus == ENUM_SEATOPERATE_STATUS.Discard) { //执行实例化看牌后弃牌 if (seat.pos == RoomZhaJHProxy.Instance.PlayerSeat.pos) { //执行看牌的方法,实例化牌 TransferData data = new TransferData(); data.SetValue("index", seat.Index); data.SetValue("pokerList", seat.pokerList); data.SetValue("spriteName", "failpoker"); // SendNotification(ZhaJHMethodname.LookPoker, data); if (display != null) { display.enabled = false; } ModelDispatcher.Instance.Dispatch(ZhaJHMethodname.OnZJHLookPoker, data); m_zhuangtai.enabled = true; m_zhuangtai.sprite = ZJHSpriteManager.Instance.ZJHSprite(stateName); } else { InstantiationPoker(seat, "failpoker"); m_zhuangtai.enabled = true; m_zhuangtai.sprite = ZJHSpriteManager.Instance.ZJHSprite(stateName); } } //####如果在游戏中,看牌后未弃牌 else { if (seat.pos == RoomZhaJHProxy.Instance.PlayerSeat.pos) { TransferData data = new TransferData(); data.SetValue("index", seat.Index); data.SetValue("pokerList", seat.pokerList); data.SetValue("spriteName", "normalpoker"); JudgingCardType(seat); ModelDispatcher.Instance.Dispatch(ZhaJHMethodname.OnZJHLookPoker, data); } else { InstantiationPoker(seat, "normalpoker"); m_zhuangtai.enabled = true; m_zhuangtai.sprite = ZJHSpriteManager.Instance.ZJHSprite(pokerStatus); } } } //#### 如果在游戏中,没有看牌 else { if (seat.seatToperateStatus == ENUM_SEATOPERATE_STATUS.Discard) { if (seat.pos == RoomZhaJHProxy.Instance.PlayerSeat.pos) { InstantiationPoker(seat, "failpoker"); m_zhuangtai.enabled = true; m_zhuangtai.sprite = ZJHSpriteManager.Instance.ZJHSprite(stateName); } else { InstantiationPoker(seat, "failpoker"); m_zhuangtai.enabled = true; m_zhuangtai.sprite = ZJHSpriteManager.Instance.ZJHSprite(stateName); } } else { if (seat.pos == RoomZhaJHProxy.Instance.PlayerSeat.pos) { InstantiationPoker(seat, "normalpoker"); } else { InstantiationPoker(seat, "normalpoker"); } } } } } }
//座位 seatItem 显示 private void SetSeatInfo(SeatEntity seat, ENUM_ROOM_STATUS roomStatus) { if (m_nSeatIndex == seat.Index) { //m_zhuangtai.enabled = false; if (seat.PlayerId == 0) { RoomZhaJHProxy.Instance.DicEvent("Index", seat.Index, ZhaJHMethodname.OnZJHInfoSettlement1); this.gameObject.SetActive(false); } else { this.gameObject.SetActive(true); if (SuperHomeowner != null && seat.pos == 7) { SuperHomeowner.gameObject.SetActive(true); } SettlementScore.gameObject.SetActive(false); if (seat.isScore && seat.profit != 0 && seat.seatStatus != ENUM_SEAT_STATUS.READY) { if (seat.profit > 0) { if (seat.pos == RoomZhaJHProxy.Instance.PlayerSeat.pos) { AudioEffectManager.Instance.Play("zjh_sheng", Vector3.zero);//播放胜利的音乐 } StartCoroutine(ChipMove()); } else { if (seat.pos == RoomZhaJHProxy.Instance.PlayerSeat.pos) { AudioEffectManager.Instance.Play("zjh_bai", Vector3.zero);//播放失败的音乐 } } StartCoroutine(AnimationScore(seat)); } } m_PlayerInfo.SetUI(seat); m_Ready.gameObject.SetActive(seat.seatStatus == ENUM_SEAT_STATUS.READY); //已准备按钮 // } if (seat.seatStatus == ENUM_SEAT_STATUS.BET && roomStatus != ENUM_ROOM_STATUS.SETTLEMENT) { long currentTime = TimeUtil.GetTimestampMS();//获取当前时间 //int times = (int)Math.Ceiling((seat.systemTime - currentTime + GlobalInit.Instance.TimeDistance) * 0.001f); float times = (float)((seat.systemTime - currentTime + GlobalInit.Instance.TimeDistance) * 0.001f); if (times > 0) { //SetImageTime(times); isTime = true; stime = times; ztime = times; } } isLowScore = seat.isLowScore; if (seat.seatStatus == ENUM_SEAT_STATUS.BET) { guangshu.SetActive(true); } else { guangshu.SetActive(false); } } else { if (seat.PlayerId != 0) { guangshu.SetActive(false); } } }