Skip to content

Commit abc8555

Browse files
authored
fix: globalobjectidhash printing in editor, remove istestrun flag (#774)
* fix globalobjectidhash in editor * remove IsTestRun flag entirely, no longer needed * minor update * add comments around conditions * minor update
1 parent 9e127c1 commit abc8555

File tree

3 files changed

+11
-12
lines changed

3 files changed

+11
-12
lines changed

com.unity.multiplayer.mlapi/Runtime/Core/NetworkManager.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,6 @@ public ulong LocalClientId
209209
internal static event Action OnSingletonReady;
210210

211211
#if UNITY_EDITOR
212-
internal static bool IsTestRun = false;
213-
214212
private void OnValidate()
215213
{
216214
if (NetworkConfig == null)
@@ -321,7 +319,7 @@ private void Init(bool server)
321319
SpawnManager = new NetworkSpawnManager(this);
322320

323321
CustomMessagingManager = new CustomMessagingManager(this);
324-
322+
325323
BufferManager = new BufferManager(this);
326324

327325
SceneManager = new NetworkSceneManager(this);
@@ -383,7 +381,7 @@ private void Init(bool server)
383381
SceneManager.SetCurrentSceneIndex();
384382
}
385383

386-
// This is used to remove entries not needed or invalid
384+
// This is used to remove entries not needed or invalid
387385
var removeEmptyPrefabs = new List<int>();
388386

389387
// Always clear our prefab override links before building
@@ -457,7 +455,7 @@ private void Init(bool server)
457455
{
458456
//Then add a new entry for the player prefab
459457
var playerNetworkPrefab = new NetworkPrefab();
460-
playerNetworkPrefab.Prefab = NetworkConfig.PlayerPrefab;
458+
playerNetworkPrefab.Prefab = NetworkConfig.PlayerPrefab;
461459
NetworkConfig.NetworkPrefabs.Insert(0, playerNetworkPrefab);
462460
NetworkConfig.NetworkPrefabOverrideLinks.Add(playerPrefabNetworkObject.GlobalObjectIdHash, playerNetworkPrefab);
463461
}

com.unity.multiplayer.mlapi/Runtime/Core/NetworkObject.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using MLAPI.Exceptions;
77
using MLAPI.Hashing;
88
using MLAPI.Logging;
9-
using MLAPI.Messaging;
109
using MLAPI.Serialization.Pooled;
1110
using MLAPI.Transports;
1211
using UnityEngine;
@@ -27,9 +26,15 @@ public sealed class NetworkObject : MonoBehaviour
2726
#if UNITY_EDITOR
2827
private void OnValidate()
2928
{
30-
if (UnityEditor.EditorApplication.isPlayingOrWillChangePlaymode && !NetworkManager.IsTestRun)
29+
// do NOT regenerate GlobalObjectIdHash for NetworkPrefabs while Editor is in PlayMode
30+
if (UnityEditor.EditorApplication.isPlaying && !string.IsNullOrEmpty(gameObject.scene.name))
31+
{
32+
return;
33+
}
34+
35+
// do NOT regenerate GlobalObjectIdHash if Editor is transitining into or out of PlayMode
36+
if (!UnityEditor.EditorApplication.isPlaying && UnityEditor.EditorApplication.isPlayingOrWillChangePlaymode)
3137
{
32-
// do NOT override GlobalObjectIdHash while getting into PlayMode in the Editor
3338
return;
3439
}
3540

com.unity.multiplayer.mlapi/Tests/Runtime/GlobalObjectIdHash/NetworkPrefabGlobalObjectIdHashTests.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
2525
[UnitySetUp]
2626
public IEnumerator Setup()
2727
{
28-
NetworkManager.IsTestRun = true;
29-
3028
SceneManager.sceneLoaded += OnSceneLoaded;
3129

3230
var execAssembly = Assembly.GetExecutingAssembly();
@@ -45,8 +43,6 @@ public IEnumerator Teardown()
4543
{
4644
yield return SceneManager.UnloadSceneAsync(m_TestScene);
4745
}
48-
49-
NetworkManager.IsTestRun = false;
5046
}
5147

5248
[Test]

0 commit comments

Comments
 (0)