Skip to content

Commit

Permalink
fix: dont directly set NetworkSceneName (#297)
Browse files Browse the repository at this point in the history
* fix: dont directly set NetworkSceneName

* code smell
  • Loading branch information
uweeby committed Jul 17, 2020
1 parent ee1f580 commit bd043a3
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 9 deletions.
14 changes: 7 additions & 7 deletions Assets/Mirror/Runtime/NetworkSceneManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public class NetworkSceneManager : MonoBehaviour, INetworkSceneManager
/// <para>This is used to make sure that all scene changes are initialized by Mirror.</para>
/// <para>Loading a scene manually wont set networkSceneName, so Mirror would still load it again on start.</para>
/// </remarks>
public string networkSceneName = "";
public string NetworkSceneName { get; protected set; } = "";

[NonSerialized]
public AsyncOperation loadingSceneAsync;
Expand Down Expand Up @@ -169,7 +169,7 @@ void FinishLoadSceneHost()
FinishStartHost();

// call OnServerSceneChanged
OnServerSceneChanged(networkSceneName);
OnServerSceneChanged(NetworkSceneName);

if (client.IsConnected)
{
Expand Down Expand Up @@ -200,7 +200,7 @@ void FinishLoadSceneServerOnly()
logger.Log("Finished loading scene in server-only mode.");

server.SpawnObjects();
OnServerSceneChanged(networkSceneName);
OnServerSceneChanged(NetworkSceneName);
}

#region Client
Expand Down Expand Up @@ -239,7 +239,7 @@ internal void ClientSceneMessage(INetworkConnection conn, SceneMessage msg)
throw new ArgumentNullException(msg.sceneName, "ClientSceneMessage: " + msg.sceneName + " cannot be empty or null");
}

if (logger.LogEnabled()) logger.Log("ClientSceneMessage: changing scenes from: " + networkSceneName + " to:" + msg.sceneName);
if (logger.LogEnabled()) logger.Log("ClientSceneMessage: changing scenes from: " + NetworkSceneName + " to:" + msg.sceneName);

// Let client prepare for scene change
OnClientChangeScene(msg.sceneName, msg.sceneOperation);
Expand Down Expand Up @@ -326,9 +326,9 @@ void OnServerAuthenticated(INetworkConnection conn)
logger.Log("NetworkSceneManager.OnServerAuthenticated");

// proceed with the login handshake by calling OnServerConnect
if (!string.IsNullOrEmpty(networkSceneName))
if (!string.IsNullOrEmpty(NetworkSceneName))
{
var msg = new SceneMessage { sceneName = networkSceneName };
var msg = new SceneMessage { sceneName = NetworkSceneName };
conn.Send(msg);
}
}
Expand Down Expand Up @@ -385,7 +385,7 @@ void ApplySceneOperation(string sceneName, SceneOperation sceneOperation = Scene
switch (sceneOperation)
{
case SceneOperation.Normal:
networkSceneName = sceneName;
NetworkSceneName = sceneName;
loadingSceneAsync = SceneManager.LoadSceneAsync(sceneName);
break;
case SceneOperation.LoadAdditive:
Expand Down
10 changes: 8 additions & 2 deletions Assets/Mirror/Tests/Runtime/NetworkSceneManagerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ void TestOnServerOnlySceneChangedInvoke(string scene)
await WaitFor(() => invokeClientSceneMessage == true && invokeNotReadyMessage == true);
func1.Received(1).Invoke(Arg.Any<string>());
Assert.That(server.sceneManager.networkSceneName, Is.EqualTo("testScene"));
Assert.That(server.sceneManager.NetworkSceneName, Is.EqualTo("testScene"));
Assert.That(invokeClientSceneMessage, Is.True);
Assert.That(invokeNotReadyMessage, Is.True);
});
Expand Down Expand Up @@ -248,9 +248,15 @@ public void ClientNotReady()
client.sceneManager.ClientChangeScene.AddListener(func1);
client.sceneManager.ClientSceneMessage(null, new SceneMessage() { sceneName = "testScene" });
await WaitFor(() => client.sceneManager.networkSceneName.Equals("testScene"));
await WaitFor(() => client.sceneManager.NetworkSceneName.Equals("testScene"));
func1.Received(1).Invoke(Arg.Any<string>(), Arg.Any<SceneOperation>());
});

[Test]
public void NetworkSceneNameStringEmptyTest()
{
Assert.That(server.sceneManager.NetworkSceneName.Equals(string.Empty));
}
}
}

0 comments on commit bd043a3

Please sign in to comment.