/// <summary>
 /// 处理更新房间响应
 /// </summary>
 public void HandleUpdateRoomResponse(string p2Username, int p2TotalCount, int p2WinCount)
 {
     //先判断传来的数据
     if (!p2Username.Equals("null") && p2TotalCount != -1 && p2WinCount != -1)
     {
         //说明有P2的数据
         _p2Username   = p2Username;
         _p2TotalCount = p2TotalCount;
         _p2WinCount   = p2WinCount;
         //更改标志位-剩下交给Update处理
         _updateRoomState = UpdateRoomState.HaveP2;
     }
     else
     {
         //说明没有P2的数据-剩下交给Update处理
         _updateRoomState = UpdateRoomState.NoP2;
     }
 }
    void Update()
    {
        #region 创建房间对roomPanel的具体设置
        if (_actionState == ActionState.Success)
        {
            //设置P1,P2的面板信息
            User  user      = GameFacade.Instance.PlayerManager.currentLoginedUser;
            Score userScore = GameFacade.Instance.PlayerManager.currentUserScore;
            //Debug.Log("玩家" + user.Username + "战绩" + userScore.WinCount + "/" + userScore.TotalCount);

            SetP1Info(user.Username, userScore.TotalCount, userScore.WinCount);
            ResetP2Info();
            //其作为房主-判断开始按钮的交互性-如果不可交互-则设置为可交互
            if (startGameBtn.interactable == false)
            {
                startGameBtn.interactable = true;
            }
            Debug.Log("已完成对Text的设置");
            _actionState = ActionState.StandBy;
        }
        else if (_actionState == ActionState.Failed)
        {
            //打开MsgPanel提示创建房间失败
            MessagePanel msgPanel = GameFacade.Instance.UiManager.PushPanel(PanelType.Message) as MessagePanel;
            msgPanel.ShowTipsMsg("创建房间失败");
            _actionState = ActionState.StandBy;
        }
        #endregion

        #region 玩家进入/退出房间对房主的RoomPanel进行更新
        if (_updateRoomState == UpdateRoomState.HaveP2)
        {
            SetP2Info(_p2Username, _p2TotalCount, _p2WinCount);
            _updateRoomState = UpdateRoomState.StandBy;
        }
        else if (_updateRoomState == UpdateRoomState.NoP2)
        {
            ResetP2Info();
            //对p2Name变量置空,解决p2加入后,又退出,p1在没有p2的情况下直接开始游戏的bug
            _p2Username      = null;
            _updateRoomState = UpdateRoomState.StandBy;
        }

        #endregion

        #region 房间面板的关闭
        if (_quitRoomState == QuitRoomState.Execute)
        {
            GameFacade.Instance.UiManager.PopPanel();
            //
            _quitRoomState = QuitRoomState.StandBy;
        }
        #endregion

        #region 开始游戏控制
        if (_startGameState == StartGameState.Execute)
        {
            //开始游戏TODO
            Debug.Log("开始游戏");
            //打开GamePanel面板
            GameFacade.Instance.UiManager.PushPanel(PanelType.Game);
            //创建所有角色
            GameFacade.Instance.PlayerManager.SpawnAllRoles();
            //切换相机状态
            GameFacade.Instance.CameraManager.SwitchToFollowState(GameFacade.Instance.PlayerManager.CurrentControllRoleGo.transform);



            _startGameState = StartGameState.StandBy;
        }
        else if (_startGameState == StartGameState.NoExecute)
        {
            //不能开始游戏

            Debug.Log("开始游戏失败");
            MessagePanel msgPanel = GameFacade.Instance.UiManager.PushPanel(PanelType.Message) as MessagePanel;
            msgPanel.ShowTipsMsg("无法开始游戏");
            _startGameState = StartGameState.StandBy;
        }
        #endregion
    }