Skip to content

Commit df715b3

Browse files
committed
Fix show behavior when duplicated show call
1 parent e7e3dad commit df715b3

File tree

1 file changed

+10
-21
lines changed

1 file changed

+10
-21
lines changed

com.unity.netcode.gameobjects/Runtime/Core/NetworkObject.cs

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1486,12 +1486,12 @@ public void NetworkShow(ulong clientId)
14861486
{
14871487
if (NetworkManagerOwner.LogLevel <= LogLevel.Error)
14881488
{
1489-
NetworkLog.LogErrorServer($"[{name}] Attempted NetworkShow while not spawned.");
1489+
NetworkLog.LogErrorServer($"[{name}] Attempted NetworkShow while {nameof(NetworkObject)} not spawned.");
14901490
}
14911491
return;
14921492
}
14931493

1494-
if (!HasAuthority)
1494+
if (!HasAuthority && !NetworkManagerOwner.DAHost)
14951495
{
14961496
if (NetworkManagerOwner.DistributedAuthorityMode)
14971497
{
@@ -1505,30 +1505,19 @@ public void NetworkShow(ulong clientId)
15051505
{
15061506
if (NetworkManagerOwner.LogLevel <= LogLevel.Error)
15071507
{
1508-
NetworkLog.LogError($"[{name}] Only the authority can change visibility.");
1508+
NetworkLog.LogError($"[{name}] Only the authority can change visibility!");
15091509
}
15101510
return;
15111511
}
15121512
}
15131513

15141514
if (Observers.Contains(clientId))
15151515
{
1516-
if (NetworkManagerOwner.DistributedAuthorityMode)
1517-
{
1518-
if (NetworkManagerOwner.LogLevel <= LogLevel.Error)
1519-
{
1520-
NetworkLog.LogErrorServer($"The object {name} is already visible to Client-{clientId}!");
1521-
}
1522-
return;
1523-
}
1524-
else
1516+
if (NetworkManagerOwner.LogLevel <= LogLevel.Developer)
15251517
{
1526-
if (NetworkManagerOwner.LogLevel <= LogLevel.Error)
1527-
{
1528-
NetworkLog.LogError($"[{name}] Only the server can change visibility.");
1529-
}
1530-
return;
1518+
NetworkLog.LogWarning($"[{name}] {nameof(NetworkObject)} is already visible to Client-{clientId}! (ignoring)");
15311519
}
1520+
return;
15321521
}
15331522

15341523
if (CheckObjectVisibility != null && !CheckObjectVisibility(clientId))
@@ -1578,8 +1567,8 @@ public static void NetworkShow(List<NetworkObject> networkObjects, ulong clientI
15781567
/// <remarks>
15791568
/// Usage: Use to stop sending updates to the targeted client, "netcode invisible", for a currently visible <see cref="NetworkObject"/>.<br />
15801569
/// <br />
1581-
/// Dynamically Spawned: <see cref="NetworkObject"/>s will be despawned and destroyed on the targeted client's side.<br />
1582-
/// In-Scene Placed: <see cref="NetworkObject"/>s will only be despawned on the targeted client's side.<br />
1570+
/// Dynamically Spawned: <see cref="NetworkObject"/>s will be de-spawned and destroyed on the targeted client's side.<br />
1571+
/// In-Scene Placed: <see cref="NetworkObject"/>s will only be de-spawned on the targeted client's side.<br />
15831572
/// <br />
15841573
/// See Also:<br />
15851574
/// <see cref="NetworkHide(List{NetworkObject}, ulong)"/><br />
@@ -1601,15 +1590,15 @@ public void NetworkHide(ulong clientId)
16011590
{
16021591
if (NetworkManagerOwner.DistributedAuthorityMode)
16031592
{
1604-
if (NetworkManager.LogLevel <= LogLevel.Error)
1593+
if (NetworkManagerOwner.LogLevel <= LogLevel.Error)
16051594
{
16061595
NetworkLog.LogError($"[{name}] Only the owner-authority can change visibility when distributed authority mode is enabled!");
16071596
}
16081597
return;
16091598
}
16101599
else
16111600
{
1612-
if (NetworkManager.LogLevel <= LogLevel.Error)
1601+
if (NetworkManagerOwner.LogLevel <= LogLevel.Error)
16131602
{
16141603
NetworkLog.LogError($"[{name}] Only the authority can change visibility!");
16151604
}

0 commit comments

Comments
 (0)