Skip to content
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,13 @@ private static void ScenesInBuildActiveSceneCheck()
var scenesList = EditorBuildSettings.scenes.ToList();
var activeScene = SceneManager.GetActiveScene();
var isSceneInBuildSettings = scenesList.Count((c) => c.path == activeScene.path) == 1;
#if UNITY_2023_1_OR_NEWER
Comment thread
0xFA11 marked this conversation as resolved.
#pragma warning disable 612, 618
#endif
var networkManager = Object.FindObjectOfType<NetworkManager>();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif
if (!isSceneInBuildSettings && networkManager != null)
{
if (networkManager.NetworkConfig != null && networkManager.NetworkConfig.EnableSceneManagement)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2017,8 +2017,13 @@ internal void PopulateScenePlacedObjects(Scene sceneToFilterBy, bool clearSceneP
{
ScenePlacedObjects.Clear();
}

#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var networkObjects = UnityEngine.Object.FindObjectsOfType<NetworkObject>();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

// Just add every NetworkObject found that isn't already in the list
// With additive scenes, we can have multiple in-scene placed NetworkObjects with the same GlobalObjectIdHash value
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,15 @@ internal void AddSpawnedNetworkObjects()
internal void AddDespawnedInSceneNetworkObjects()
{
m_DespawnedInSceneObjectsSync.Clear();
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
// Find all active and non-active in-scene placed NetworkObjects
var inSceneNetworkObjects = UnityEngine.Object.FindObjectsOfType<NetworkObject>(includeInactive: true).Where((c) => c.NetworkManager == m_NetworkManager);
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

foreach (var sobj in inSceneNetworkObjects)
{
if (sobj.IsSceneObject.HasValue && sobj.IsSceneObject.Value && !sobj.IsSpawned)
Expand Down Expand Up @@ -657,7 +664,13 @@ internal void ReadClientReSynchronizationData(FastBufferReader reader)

if (networkObjectsToRemove.Length > 0)
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var networkObjects = UnityEngine.Object.FindObjectsOfType<NetworkObject>();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif
var networkObjectIdToNetworkObject = new Dictionary<ulong, NetworkObject>();
foreach (var networkObject in networkObjects)
{
Expand Down Expand Up @@ -785,8 +798,14 @@ private void DeserializeDespawnedInScenePlacedNetworkObjects()
var objectRelativeScene = m_NetworkManager.SceneManager.ScenesLoaded[localSceneHandle];

// Find all active and non-active in-scene placed NetworkObjects
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var inSceneNetworkObjects = UnityEngine.Object.FindObjectsOfType<NetworkObject>(includeInactive: true).Where((c) =>
c.GetSceneOriginHandle() == localSceneHandle && (c.IsSceneObject != false)).ToList();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

foreach (var inSceneObject in inSceneNetworkObjects)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,13 @@ internal void DespawnObject(NetworkObject networkObject, bool destroyObject = fa
// Makes scene objects ready to be reused
internal void ServerResetShudownStateForSceneObjects()
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var networkObjects = UnityEngine.Object.FindObjectsOfType<NetworkObject>().Where((c) => c.IsSceneObject != null && c.IsSceneObject == true);
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif
foreach (var sobj in networkObjects)
{
sobj.IsSpawned = false;
Expand Down Expand Up @@ -689,8 +695,13 @@ internal void ServerDestroySpawnedSceneObjects()

internal void DespawnAndDestroyNetworkObjects()
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var networkObjects = UnityEngine.Object.FindObjectsOfType<NetworkObject>();

#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif
for (int i = 0; i < networkObjects.Length; i++)
{
if (networkObjects[i].NetworkManager == NetworkManager)
Expand Down Expand Up @@ -719,7 +730,13 @@ internal void DespawnAndDestroyNetworkObjects()

internal void DestroySceneObjects()
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var networkObjects = UnityEngine.Object.FindObjectsOfType<NetworkObject>();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

for (int i = 0; i < networkObjects.Length; i++)
{
Expand All @@ -746,7 +763,13 @@ internal void DestroySceneObjects()

internal void ServerSpawnSceneObjectsOnStartSweep()
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var networkObjects = UnityEngine.Object.FindObjectsOfType<NetworkObject>();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif
var networkObjectsToSpawn = new List<NetworkObject>();

for (int i = 0; i < networkObjects.Length; i++)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,14 @@ private static void SceneManager_sceneLoaded(Scene scene, LoadSceneMode loadScen
private static void ProcessInSceneObjects(Scene scene, NetworkManager networkManager)
{
// Get all in-scene placed NeworkObjects that were instantiated when this scene loaded
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var inSceneNetworkObjects = Object.FindObjectsOfType<NetworkObject>().Where((c) => c.IsSceneObject != false && c.GetSceneOriginHandle() == scene.handle);
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

foreach (var sobj in inSceneNetworkObjects)
{
if (sobj.NetworkManagerOwner != networkManager)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -437,8 +437,12 @@ private void ClientNetworkManagerPostStart(NetworkManager networkManager)
m_PlayerNetworkObjects.Add(networkManager.LocalClientId, new Dictionary<ulong, NetworkObject>());
}

#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
// Get all player instances for the current client NetworkManager instance
var clientPlayerClones = Object.FindObjectsOfType<NetworkObject>().Where((c) => c.IsPlayerObject && c.OwnerClientId == networkManager.LocalClientId).ToList();

// Add this player instance to each client player entry
foreach (var playerNetworkObject in clientPlayerClones)
{
Expand All @@ -455,6 +459,10 @@ private void ClientNetworkManagerPostStart(NetworkManager networkManager)

// For late joining clients, add the remaining (if any) cloned versions of each client's player
clientPlayerClones = Object.FindObjectsOfType<NetworkObject>().Where((c) => c.IsPlayerObject && c.NetworkManager == networkManager).ToList();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

foreach (var playerNetworkObject in clientPlayerClones)
{
if (!m_PlayerNetworkObjects[networkManager.LocalClientId].ContainsKey(playerNetworkObject.OwnerClientId))
Expand All @@ -474,7 +482,14 @@ protected void ClientNetworkManagerPostStartInit()
}
if (m_UseHost)
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var clientSideServerPlayerClones = Object.FindObjectsOfType<NetworkObject>().Where((c) => c.IsPlayerObject && c.OwnerClientId == m_ServerNetworkManager.LocalClientId);
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

foreach (var playerNetworkObject in clientSideServerPlayerClones)
{
// When the server is not the host this needs to be done
Expand Down Expand Up @@ -530,8 +545,14 @@ protected IEnumerator StartServerAndClients()

if (m_UseHost || m_ServerNetworkManager.IsHost)
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
// Add the server player instance to all m_ClientSidePlayerNetworkObjects entries
var serverPlayerClones = Object.FindObjectsOfType<NetworkObject>().Where((c) => c.IsPlayerObject && c.OwnerClientId == m_ServerNetworkManager.LocalClientId);
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif
foreach (var playerNetworkObject in serverPlayerClones)
{
if (!m_PlayerNetworkObjects.ContainsKey(playerNetworkObject.NetworkManager.LocalClientId))
Expand Down Expand Up @@ -721,7 +742,14 @@ protected virtual bool CanDestroyNetworkObject(NetworkObject networkObject)
/// </summary>
protected void DestroySceneNetworkObjects()
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var networkObjects = Object.FindObjectsOfType<NetworkObject>();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

foreach (var networkObject in networkObjects)
{
// This can sometimes be null depending upon order of operations
Expand All @@ -736,6 +764,7 @@ protected void DestroySceneNetworkObjects()
{
continue;
}

if (CanDestroyNetworkObject(networkObject))
{
networkObject.NetworkManagerOwner = m_ServerNetworkManager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,19 @@ protected override void OnServerAndClientsCreated()

private EmptyComponent GetObjectForClient(ulong clientId)
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
foreach (var component in Object.FindObjectsOfType<EmptyComponent>())
{
if (component.IsSpawned && component.NetworkManager.LocalClientId == clientId)
{
return component;
}
}

#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif
return null;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,14 +271,19 @@ private IEnumerator SpawnClients(bool clearTestDeferredMessageManagerCallFlags =

private T GetComponentForClient<T>(ulong clientId) where T : NetworkBehaviour
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
foreach (var component in Object.FindObjectsOfType<T>())
{
if (component.IsSpawned && component.NetworkManager.LocalClientId == clientId)
{
return component;
}
}

#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif
return null;
}

Expand Down Expand Up @@ -751,6 +756,9 @@ bool HaveAllClientsSpawned()
{
var found1 = false;
var found2 = false;
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
foreach (var component in Object.FindObjectsOfType<DeferredMessageTestRpcComponent>())
{
if (component.IsSpawned && component.NetworkManager.LocalClientId == client.LocalClientId)
Expand All @@ -765,6 +773,9 @@ bool HaveAllClientsSpawned()
}
}
}
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

Assert.IsTrue(found1);
Assert.IsTrue(found2);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,15 @@ public IEnumerator MyFirstIntegationTest()
{
// Check the condition for this test and automatically handle varying processing
// environments and conditions
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
yield return WaitForConditionOrTimeOut(() =>
Object.FindObjectsOfType<NetworkVisibilityComponent>().Where(
(c) => c.IsSpawned).Count() == 2);
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

Assert.False(s_GlobalTimeoutHelper.TimedOut, "Timed out waiting for instances " +
"to be detected!");
Expand Down Expand Up @@ -64,9 +70,15 @@ public IEnumerator MyFirstIntegationTest()
{
// Check the condition for this test and automatically handle varying processing
// environments and conditions
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
yield return WaitForConditionOrTimeOut(() =>
Object.FindObjectsOfType<NetworkVisibilityComponent>().Where(
(c) => c.IsSpawned).Count() == 2);
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

Assert.False(s_GlobalTimeoutHelper.TimedOut, "Timed out waiting for instances " +
"to be detected!");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,13 @@ public IEnumerator WhenOwnershipIsChanged_OwnershipValuesUpdateCorrectly()
Assert.IsFalse(serverBehaviour.IsOwnedByServer);
Assert.AreEqual(m_ClientNetworkManagers[0].LocalClientId, serverBehaviour.OwnerClientId);

#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var clientObject = Object.FindObjectsOfType<NetworkObject>().Where((obj) => obj.NetworkManagerOwner == m_ClientNetworkManagers[0]).FirstOrDefault();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

Assert.IsNotNull(clientObject);
Assert.IsTrue(clientObject.IsOwner);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,14 @@ public void TearDown()
{
//Stop, shutdown, and destroy
NetworkManagerHelper.ShutdownNetworkManager();

#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var networkObjects = UnityEngine.Object.FindObjectsOfType<NetworkObject>().ToList();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif

var networkObjectsList = networkObjects.Where(c => c.name.Contains(k_PrefabObjectName));
foreach (var networkObject in networkObjectsList)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,13 @@ protected override IEnumerator OnServerAndClientsConnected()
[UnityTest]
public IEnumerator HiddenObjectsTest()
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
yield return WaitForConditionOrTimeOut(() => Object.FindObjectsOfType<NetworkVisibilityComponent>().Where((c) => c.IsSpawned).Count() == 2);
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif
Assert.IsFalse(s_GlobalTimeoutHelper.TimedOut, "Timed out waiting for the visible object count to equal 2!");
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,13 @@ public class NetworkManagerMonitor : MonoBehaviour
// Start is called before the first frame update
private void Start()
{
#if UNITY_2023_1_OR_NEWER
#pragma warning disable 612, 618
#endif
var networkManagerInstances = FindObjectsOfType<NetworkManager>();
#if UNITY_2023_1_OR_NEWER
#pragma warning restore 612, 618
#endif
foreach (var instance in networkManagerInstances)
{
if (instance.IsListening)
Expand Down
Loading