/// <summary> /// Orders the server to change to the given scene. /// </summary> /// <param name="newSceneName">The name of the scene to change to.</param> public virtual void ServerChangeScene(string newSceneName) { if (string.IsNullOrEmpty(newSceneName)) { if (TinyNetLogLevel.logError) { TinyLogger.LogError("ServerChangeScene empty scene name"); } return; } if (TinyNetLogLevel.logDebug) { TinyLogger.Log("ServerChangeScene " + newSceneName); } serverManager.SetAllClientsNotReady(); networkSceneName = newSceneName; s_LoadingSceneAsync = SceneManager.LoadSceneAsync(newSceneName); TinyNetStringMessage msg = new TinyNetStringMessage(networkSceneName); msg.msgType = TinyNetMsgType.Scene; serverManager.SendMessageByChannelToAllConnections(msg, DeliveryMethod.ReliableOrdered); }
//============ TinyNetEvents ========================// /// <summary> /// Called when a connection message is received. /// </summary> /// <param name="netMsg">The net message.</param> protected virtual void OnConnectMessage(TinyNetMessageReader netMsg) { if (TinyNetGameManager.instance.isClient && TinyNetClient.instance.connToHost.ConnectId == netMsg.tinyNetConn.ConnectId) { return; } if (TinyNetGameManager.networkSceneName != null && TinyNetGameManager.networkSceneName != "") { TinyNetStringMessage msg = new TinyNetStringMessage(TinyNetGameManager.networkSceneName); msg.msgType = TinyNetMsgType.Scene; netMsg.tinyNetConn.Send(msg, DeliveryMethod.ReliableOrdered); } }