2

マルチプレイヤー ゲームでオブジェクトのインスタンス化に問題があります。ゲームのレイアウトはシンプルです。プレイヤーはロビーに入り、全員が準備完了をマークすると、カウントダウンとゲーム レベルのロードのLobbyManager呼び出しが行われます。ServerChangeScene(gameScene)問題は、多くの負荷で、ネットワーク化されたすべてのオブジェクトがクライアント上でインスタンス化されないことです。client少しプレイ テストを行った後、これはがサーバーの前にシーンをロードしたときにのみ発生するように見えることに気付きました。serverロードが最初にすべて正しく表示され、ゲームが正常にプレイされるときです。サーバーが最初に読み込まれるようにする方法はありますか?

参照用のコード:

 public override void OnLobbyServerPlayersReady()
 {
     currentNumberTeam1 = 0;
     currentNumberTeam2 = 0;
     StartCoroutine(ServerCountdownCoroutine());
 }
 public IEnumerator ServerCountdownCoroutine()
 {
     float remainingTime = _matchStartCountdown;
     int floorTime = Mathf.FloorToInt(remainingTime);
     while (remainingTime > 0)
     {
         yield return null;
         remainingTime -= Time.deltaTime;
         int newFloorTime = Mathf.FloorToInt(remainingTime);
         if (newFloorTime != floorTime)
         {
             floorTime = newFloorTime;
             for (int i = 0; i < lobbySlots.Length; ++i)
             {
                 if (lobbySlots[i] != null)
                 {
                     (lobbySlots[i] as CharacterSelect).RpcUpdateCountdown(floorTime);
                 }
             }
         }
     }
     for (int i = 0; i < lobbySlots.Length; ++i)
     {
         if (lobbySlots[i] != null)
         {
             (lobbySlots[i] as CharacterSelect).RpcUpdateCountdown(0);
         }
     }

     ServerChangeScene(playScene);
 }
4

0 に答える 0