public virtual void ServerChangeScene(string newSceneName) { if (string.IsNullOrEmpty(newSceneName)) { if (LogFilter.logError) { Debug.LogError("ServerChangeScene empty scene name"); } return; } if (LogFilter.logDebug) { Debug.Log("ServerChangeScene " + newSceneName); } NetworkServer.SetAllClientsNotReady(); networkSceneName = newSceneName; s_LoadingSceneAsync = SceneManager.LoadSceneAsync(newSceneName); StringMessage msg = new StringMessage(networkSceneName); NetworkServer.SendToAll((short)MsgType.Scene, msg); s_StartPositionIndex = 0; s_StartPositions.Clear(); }
// ----------------------------- Server Internal Message Handlers -------------------------------- internal void OnServerConnectInternal(NetworkMessage netMsg) { if (LogFilter.logDebug) { Debug.Log("NetworkManager:OnServerConnectInternal"); } if (networkSceneName != "" && networkSceneName != m_OfflineScene) { StringMessage msg = new StringMessage(networkSceneName); netMsg.conn.Send((short)MsgType.Scene, msg); } OnServerConnect(netMsg.conn); }