예제 #1
0
    /// <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);
                }
                //}
            }
        }
    }
예제 #2
0
    /// <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);
                }
            }
        }
    }
예제 #3
0
    /// <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);
    }
예제 #4
0
        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();
            }
        }
예제 #5
0
    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);
    }
예제 #6
0
 /// <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;
         }
     }
 }
예제 #7
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");
                     }
                 }
             }
         }
     }
 }
예제 #8
0
    //座位 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);
            }
        }
    }