private void InitializeGame(Scene scene) { GameManager.Get().SetTeamInfo(TeamInfo); GameManager.Get().SetGameInfo(GameInfo); SpawnObject("ApplicationSingletonsNetId"); var gameSceneSingletons = SpawnObject("GameSceneSingletons"); gameSceneSingletons.SetActive(true); //var cameraMan = gameSceneSingletons.GetComponent<CameraManager>(); //if (cameraMan != null) //{ // GameObject.Destroy(cameraMan); //} //else //{ // Log.Info("CameraManager is null"); //} var SharedEffectBarrierManager = SpawnObject("SharedEffectBarrierManager"); var SharedActionBufferObject = SpawnObject("SharedActionBuffer"); SharedActionBuffer = SharedActionBufferObject.GetComponent <SharedActionBuffer>(); SharedActionBuffer.Networkm_actionPhase = ActionBufferPhase.Done; foreach (GameObject sceneObject in scene.GetRootGameObjects()) { if (sceneObject.GetComponent <NetworkIdentity>() != null && !sceneObject.activeSelf) { Log.Info($"Activating scene object '{sceneObject.name}'"); sceneObject.SetActive(true); NetworkServer.Spawn(sceneObject); } } GameFlowData.Get().gameState = GameState.SpawningPlayers; bool destroyVisualsLoader = false; if (destroyVisualsLoader) { GameObject visualsLoader = GameObject.Find("VisualsLoader"); if (visualsLoader != null) { Log.Info("Trying to destroy VisualsLoader"); GameObject.Destroy(visualsLoader); } } Log.Info("Board is " + Board.Get()); List <LobbyPlayerInfo> playerInfoList = GameManager.Get().TeamInfo.TeamPlayerInfo; IsMapLoaded = true; for (int i = 0; i < playerInfoList.Count; i++) { LobbyPlayerInfo playerInfo = playerInfoList[i]; AddCharacterActor(playerInfo); } GameFlowData.Get().Networkm_currentTurn = 0; GameFlowData.Get().gameState = GameState.StartingGame; // Show what objects are present in the current scene UnityUtils.DumpSceneObjects(); WebsocketManager.ReportGameReady(); // Not sure where exactly it is supposed to happen }