Skip to content

Commit 04a6b54

Browse files
PitouGamesEmandM
authored andcommitted
fix: avoid throwing exception when using NetworkList without a NetworkManager (#2539)
1 parent ff2f555 commit 04a6b54

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

com.unity.netcode.gameobjects/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Additional documentation and release notes are available at [Multiplayer Documen
2222
- Fixed issue where invoking `NetworkObject.NetworkShow` and `NetworkObject.ChangeOwnership` consecutively within the same call stack location could result in an unnecessary change in ownership error message generated on the target client side. (#3493)
2323
- Fixed issue where `NetworkVariable`s on a `NetworkBehaviour` could fail to synchronize changes if one has `NetworkVariableUpdateTraits` set and is dirty but is not ready to send. (#3465)
2424
- Fixed issue where when a client changes ownership via RPC the `NetworkBehaviour.OnOwnershipChanged` can result in identical previous and current owner identifiers. (#3434)
25+
- Fixed `NullReferenceException` on `NetworkList` when used without a NetworkManager in scene. (#2539)
2526

2627
### Changed
2728

com.unity.netcode.gameobjects/Runtime/NetworkVariable/Collections/NetworkList.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ public IEnumerator<T> GetEnumerator()
425425
public void Add(T item)
426426
{
427427
// check write permissions
428-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
428+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
429429
{
430430
LogWritePermissionError();
431431
return;
@@ -452,7 +452,7 @@ public void Add(T item)
452452
public void Clear()
453453
{
454454
// check write permissions
455-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
455+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
456456
{
457457
LogWritePermissionError();
458458
return;
@@ -490,7 +490,7 @@ public bool Contains(T item)
490490
public bool Remove(T item)
491491
{
492492
// check write permissions
493-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
493+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
494494
{
495495
LogWritePermissionError();
496496
return false;
@@ -539,7 +539,7 @@ public int IndexOf(T item)
539539
public void Insert(int index, T item)
540540
{
541541
// check write permissions
542-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
542+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
543543
{
544544
LogWritePermissionError();
545545
return;
@@ -575,7 +575,7 @@ public void Insert(int index, T item)
575575
public void RemoveAt(int index)
576576
{
577577
// check write permissions
578-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
578+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
579579
{
580580
LogWritePermissionError();
581581
return;
@@ -608,7 +608,7 @@ public T this[int index]
608608
set
609609
{
610610
// check write permissions
611-
if (!CanClientWrite(m_NetworkBehaviour.NetworkManager.LocalClientId))
611+
if (m_NetworkManager && !CanClientWrite(m_NetworkManager.LocalClientId))
612612
{
613613
LogWritePermissionError();
614614
return;

0 commit comments

Comments
 (0)