private void Update() { #region 处理显示倒计时 if (_timerState == TimerState.Run) { Debug.Log("显示时间"); ShowTimer(_timer);//【找到原因,这个函数有问题】 _timerState = TimerState.StandBy; } #endregion #region 处理开始战斗 if (_startPlayState == StartPlayState.Execute) { //:战斗开始 //为当前控制的role添加,Move.Attack组件 GameFacade.Instance.PlayerManager.AddComponentToCurrentControllRole(); //开始同步todo需修改所有与同步有关的代码 GameFacade.Instance.PlayerManager.CreatAndStartSyncRequest(); _startPlayState = StartPlayState.StandBy; } #endregion #region 处理战斗结束-面板显示 if (_gameState == GameState.Win) { ShowResult("你赢了"); //:处理游戏结束-后面的内容,保证再次开始正常 GameFacade.Instance.PlayerManager.GameOver(); //隐藏中断游戏按钮 closeBtn.gameObject.SetActive(false); _gameState = GameState.StandBy; } else if (_gameState == GameState.Fail) { ShowResult("你输了"); //:处理游戏结束-后面的内容,保证再次开始正常 GameFacade.Instance.PlayerManager.GameOver(); //隐藏中断游戏按钮 closeBtn.gameObject.SetActive(false); _gameState = GameState.StandBy; } #endregion #region 战斗中退出游戏 if (_quitInBattleState == QuitInBattleState.Execute) { //重置游戏场景 GameFacade.Instance.PlayerManager.GameOver(); //回到房间列表 GameFacade.Instance.UiManager.PopPanel(); GameFacade.Instance.UiManager.PopPanel(); _quitInBattleState = QuitInBattleState.StandBy; } #endregion #region 处理游戏中血条更新显示 if (_syncHPState == SyncHPState.Execute) { //血条更新 UpdateShowHPSlider(); _syncHPState = SyncHPState.StandBy; } #endregion }
/// <summary> /// 处理开始游戏请求的响应 /// </summary> public void HandleStartPlayResponse() { //改变标志位-后交给Update处理 _startPlayState = StartPlayState.Execute; }