示例#1
0
 void Ok()
 {
     //发送准备请求
     NetMsg.ClientReadyReq msg = new NetMsg.ClientReadyReq();
     msg.iUserId = GameData.Instance.PlayerPlayingPanelData.iUserId;
     Network.NetworkMgr.Instance.GameServer.SendReadyReq(msg);
 }
示例#2
0
 public void HandleBtnPlayReady()
 {
     //发送玩家准备按钮
     NetMsg.ClientReadyReq msg = new NetMsg.ClientReadyReq();
     msg.iUserId = GameData.Instance.PlayerPlayingPanelData.iUserId;
     Debug.Log("发送玩家准备按钮");
     NetworkMgr.Instance.GameServer.SendReadyReq(msg);
 }
示例#3
0
 /// <summary>
 /// 发送同意解散房间的消息
 /// </summary>
 /// <param name="status">1发起,2表示同意,3表示拒绝</param>
 public void SendDissolveMessage(int status)
 {
     NetMsg.ClientDismissRoomReq msg = new NetMsg.ClientDismissRoomReq();
     msg.iUserId = GameData.Instance.PlayerNodeDef.iUserId;
     msg.cType   = (byte)status;
     NetworkMgr.Instance.GameServer.SendDisMissRoomReq(msg);
     //发送准备请求
     if (status == 3 && GameData.Instance.PlayerPlayingPanelData.iDissolveStatus == 1)
     {
         GameData.Instance.PlayerPlayingPanelData.iDissolveStatus = 0;
         NetMsg.ClientReadyReq ready = new NetMsg.ClientReadyReq();
         ready.iUserId = GameData.Instance.PlayerNodeDef.iUserId;
         NetworkMgr.Instance.GameServer.SendReadyReq(ready);
     }
 }
示例#4
0
        /// <summary>
        /// 点击继续按钮
        /// </summary>
        void HandleBtnNextRound(int status)
        {
            PlayerPlayingPanelData pppd = GameData.Instance.PlayerPlayingPanelData;
            GameResultPanelData    grpd = GameData.Instance.GameResultPanelData;

            //如果是手动点击继续,自动解除托管
            if (status == 1)
            {
                if (pppd.iPlayerHostStatus > 0)
                {
                    GameData.Instance.GameResultPanelData.iHandClick = 1;
                    NetMsg.ClientCancleAutoStatusReq msg = new NetMsg.ClientCancleAutoStatusReq();
                    msg.iUserId  = GameData.Instance.PlayerNodeDef.iUserId;
                    msg.iSeatNum = (byte)pppd.bySeatNum;
                    Network.NetworkMgr.Instance.GameServer.SendClientCancleAutoStatusReq(msg);
                }
            }
            else
            {
                GameData.Instance.GameResultPanelData.iHandClick = 2;
            }

            //如果玩家是托管,这个时候检测解散信息
            if (pppd.iDissolveFlag == 1)
            {
                pppd.iDissolveFlag = 0;
                NetMsg.ClientDismissRoomRes msg = pppd.DismissRoomRes;
                //显示解散界面
                int seatNum = pppd.GetOtherPlayerPos(msg.iUserId);

                //显示玩家发起解散房间
                if (msg.cType == 1)
                {
                    if (pppd.isBeginGame || pppd.iMethodId == 11)
                    {
                        //显示界面
                        UIMainView.Instance.PlayerPlayingPanel.DissolvePanel.SetActive(true);
                        UIMainView.Instance.PlayerPlayingPanel.DissolvePanel.transform.localPosition = Vector3.zero;
                        UIMainView.Instance.PlayerPlayingPanel.DissolvePanel.transform.localScale    = Vector3.one;
                        if (pppd.isBeginGame || pppd.isWatingPlayerDownOrUp)
                        {
                            //更新界面
                            UIMainView.Instance.PlayerPlayingPanel.DissolvePanel.GetComponent <DissvloeNoticePanel>().iseatNum = seatNum;
                            UIMainView.Instance.PlayerPlayingPanel.DissolvePanel.GetComponent <DissvloeNoticePanel>().ShowAllPlayerMessage();
                        }
                    }
                }
                else if (msg.cType == 3)
                {
                    UIMainView.Instance.PlayerPlayingPanel.DissolvePanel.SetActive(false);
                    System.Text.StringBuilder str = new System.Text.StringBuilder();
                    str.Append("由于玩家【");
                    str.Append(pppd.usersInfo[seatNum].szNickname);
                    str.Append("】拒绝,房间解散失败,继续游戏");
                    UIMgr.GetInstance().GetUIMessageView().Show(str.ToString(), Ok);
                }
            }

            //判断玩家是解散结束还是正常结束
            if (grpd.HandDissolve == 0 && !grpd.isEndGame)
            {
                if (!pppd.isAllAutoStatus && pppd.iDissolveStatus != 1)
                {
                    //发送准备请求
                    NetMsg.ClientReadyReq msg = new NetMsg.ClientReadyReq();
                    msg.iUserId = GameData.Instance.PlayerPlayingPanelData.iUserId;
                    Debug.Log("点击继续按钮,发送准备请求");
                    Network.NetworkMgr.Instance.GameServer.SendReadyReq(msg);
                }
                GameData.Instance.GameResultPanelData.isPanelShow = false;
                if (pppd.isBeginGame)
                {
                    UIMainView.Instance.PlayerPlayingPanel.InitPanel();
                }
            }
            //如果玩家是解散结束的
            else
            {
                //关闭玩家的单局结算界面
                grpd.isShowRoundGameResult = false;
                //显示总的结算数据
                grpd.isShowRoomGameResult = true;
                UIMainView.Instance.GameResultPanel.SpwanAllGameResult();
                UpdateShow();
            }

            SystemMgr.Instance.GameResultSystem.UpdateShow();
        }