Skip to content

Commit 3be0719

Browse files
update
Trunk merge updates
1 parent 003e577 commit 3be0719

2 files changed

Lines changed: 39 additions & 39 deletions

File tree

com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransform/UnifiedNetworkTransformTest.cs

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
using NUnit.Framework;
44
using Unity.Netcode.Components;
55
using Unity.Netcode.TestHelpers.Runtime;
6-
using Unity.NetCode;
76
using UnityEngine;
87
using UnityEngine.TestTools;
98

@@ -35,6 +34,11 @@ internal class UnifiedNetworkTransformTest : IntegrationTestWithApproximation
3534
private GameObject m_Prefab;
3635
private NetworkObject m_Instance;
3736

37+
protected override bool OnSetVerboseDebug()
38+
{
39+
return true;
40+
}
41+
3842
protected override IEnumerator OnSetup()
3943
{
4044
// Creates the hybrid prefab
@@ -43,37 +47,9 @@ protected override IEnumerator OnSetup()
4347
return base.OnSetup();
4448
}
4549

46-
protected override void OnServerAndClientsCreated()
47-
{
48-
49-
// Add the hybrid prefab to the prefabs list for
50-
// all NetworkManager instances.
51-
// TODO: Emma and I discussed actually not making it
52-
// a requirement to have NetworkManager instances.
53-
// We can get that PR landed and merged back into the
54-
// unified branch so this is no longer needed.
55-
// (We can modify CreateHybridPrefab to use whatever list
56-
// is used to handle this when using the normal prefab creation
57-
// methods).
58-
var networkPrefab = new NetworkPrefab()
59-
{
60-
Prefab = m_Prefab,
61-
};
62-
foreach (var networkManager in m_NetworkManagers)
63-
{
64-
networkManager.LogLevel = LogLevel.Developer;
65-
networkManager.NetworkConfig.Prefabs.Add(networkPrefab);
66-
// Set the deferred message timeout to be 5 seconds for this test.
67-
// (To see if the messages for the instances ever get processed.)
68-
// Enable this to debug deferred
69-
//networkManager.NetworkConfig.SpawnTimeout = 5;
70-
}
71-
}
72-
7350
[UnityTest]
7451
public IEnumerator BasicMovementTest()
7552
{
76-
m_EnableVerboseDebug = true;
7753
var authority = GetAuthorityNetworkManager();
7854
m_Instance = SpawnObject(m_Prefab, m_ServerNetworkManager).GetComponent<NetworkObject>();
7955

com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTest.cs

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -640,7 +640,7 @@ private void InternalOnOneTimeSetup()
640640
protected virtual IEnumerator OnSetup()
641641
{
642642
#if UNIFIED_NETCODE
643-
if(m_AllPrefabsAsHybrid)
643+
if (m_AllPrefabsAsHybrid)
644644
{
645645
NetworkSpawnManager.RegisterPendingGhost = RegisterPendingGhost;
646646
}
@@ -659,7 +659,7 @@ protected virtual IEnumerator OnSetup()
659659
protected virtual void OnInlineSetup()
660660
{
661661
#if UNIFIED_NETCODE
662-
if(m_AllPrefabsAsHybrid)
662+
if (m_AllPrefabsAsHybrid)
663663
{
664664
NetworkSpawnManager.RegisterPendingGhost = RegisterPendingGhost;
665665
}
@@ -867,7 +867,20 @@ protected void CreateServerAndClients(int numberOfClients)
867867
{
868868
manager.NetworkConfig.PlayerPrefab = m_PlayerPrefab;
869869
SetDistributedAuthorityProperties(manager);
870+
#if UNIFIED_NETCODE
871+
foreach (var pendingPrefab in m_PendingPrefabs)
872+
{
873+
var prefab = new NetworkPrefab()
874+
{
875+
Prefab = pendingPrefab
876+
};
877+
manager.NetworkConfig.Prefabs.Add(prefab);
878+
}
879+
#endif
870880
}
881+
#if UNIFIED_NETCODE
882+
m_PendingPrefabs.Clear();
883+
#endif
871884

872885
// Provides opportunity to allow child derived classes to
873886
// modify the NetworkManager's configuration before starting.
@@ -1662,8 +1675,9 @@ protected IEnumerator CoroutineShutdownAndCleanUp()
16621675
protected void UnifiedCleanup()
16631676
{
16641677
#if UNIFIED_NETCODE
1665-
if(m_AllPrefabsAsHybrid)
1678+
if (m_AllPrefabsAsHybrid)
16661679
{
1680+
m_PendingPrefabs.Clear();
16671681
NetworkSpawnManager.RegisterPendingGhost = null;
16681682
CleanupPrefabReferences();
16691683
}
@@ -2298,6 +2312,8 @@ protected GameObject CreateNetworkObjectPrefab(string baseName)
22982312
}
22992313

23002314
#if UNIFIED_NETCODE
2315+
// Pending prefabs declared before NetworkManagers instantiated
2316+
private List<GameObject> m_PendingPrefabs = new List<GameObject>();
23012317
protected void CleanupPrefabReferences()
23022318
{
23032319
foreach (var reference in Object.FindObjectsByType<GhostPrefabReference>())
@@ -2330,7 +2346,7 @@ protected GameObject CreateHybridPrefab(string baseName, bool moveToDDOL = true)
23302346
adapter.prefabReference = ScriptableObject.CreateInstance<GhostPrefabReference>();
23312347
adapter.prefabReference.name = "GhostPrefabReference";
23322348
adapter.prefabReference.Prefab = gameObject;
2333-
adapter.prefabReference.Ghost = adapter;
2349+
23342350
GhostPrefabReference.s_IsPostProcessing = false;
23352351

23362352
// TODO: This might be part of the CreateHybridPrefab parameters
@@ -2368,19 +2384,27 @@ protected GameObject CreateHybridPrefab(string baseName, bool moveToDDOL = true)
23682384
Object.DontDestroyOnLoad(gameObject);
23692385
}
23702386
var authorityNetworkManager = GetAuthorityNetworkManager();
2371-
authorityNetworkManager.AddNetworkPrefab(gameObject);
2372-
foreach (var clientNetworkManager in m_ClientNetworkManagers)
2387+
if (authorityNetworkManager == null)
23732388
{
2374-
if (clientNetworkManager == authorityNetworkManager)
2389+
m_PendingPrefabs.Add(gameObject);
2390+
}
2391+
else
2392+
{
2393+
authorityNetworkManager.AddNetworkPrefab(gameObject);
2394+
foreach (var clientNetworkManager in m_ClientNetworkManagers)
23752395
{
2376-
continue;
2396+
if (clientNetworkManager == authorityNetworkManager)
2397+
{
2398+
continue;
2399+
}
2400+
clientNetworkManager.AddNetworkPrefab(gameObject);
23772401
}
2378-
clientNetworkManager.AddNetworkPrefab(gameObject);
23792402
}
23802403
return gameObject;
23812404
}
23822405
#endif
23832406

2407+
23842408
/// <summary>
23852409
/// Overloaded method <see cref="SpawnObject(NetworkObject, NetworkManager, bool)"/>
23862410
/// </summary>
@@ -2598,7 +2622,7 @@ private void InitializeTestConfiguration(NetworkTopologyTypes networkTopologyTyp
25982622
}
25992623
#if UNIFIED_NETCODE
26002624
m_UseHost = hostOrServer == HostOrServer.Host || hostOrServer == HostOrServer.DAHost || hostOrServer == HostOrServer.UnifiedHost;
2601-
m_AllPrefabsAsHybrid = (hostOrServer == HostOrServer.UnifiedServer || hostOrServer == HostOrServer.UnifiedHost);
2625+
m_AllPrefabsAsHybrid = (hostOrServer == HostOrServer.UnifiedServer || hostOrServer == HostOrServer.UnifiedHost);
26022626
#else
26032627
m_UseHost = hostOrServer == HostOrServer.Host || hostOrServer == HostOrServer.DAHost;
26042628
#endif

0 commit comments

Comments
 (0)