Skip to content

Commit fe14235

Browse files
committed
feat!: SpawnVisibleObjects now calls RemoveAllVisibleObjects
calling RemoveAllVisibleObjects means that Mirage will send spawn message for objects destroyed in scene change. BREAKING CHANGE: SpawnVisibleObjects now calls RemoveAllVisibleObjects before spawning objects
1 parent d160e77 commit fe14235

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

Assets/Mirage/Runtime/ServerObjectManager.cs

+7-6
Original file line numberDiff line numberDiff line change
@@ -739,7 +739,8 @@ public void SpawnVisibleObjects(INetworkPlayer player, bool ignoreHasCharacter,
739739
/// <param name="skip">NetworkIdentity to skip when spawning. Can be null</param>
740740
public void SpawnVisibleObjects(INetworkPlayer player, bool ignoreHasCharacter, HashSet<NetworkIdentity> skip)
741741
{
742-
// todo Call player.RemoveAllVisibleObjects() first so that it will send spawn message for objects destroyed in scene change
742+
// remove all, so that it will send spawn message for objects destroyed in scene change
743+
player.RemoveAllVisibleObjects();
743744

744745
if (!ignoreHasCharacter && !player.HasCharacter)
745746
{
@@ -768,12 +769,12 @@ public void SpawnVisibleObjects(INetworkPlayer player, bool ignoreHasCharacter,
768769
if (skip != null && skip.Contains(identity))
769770
continue;
770771

771-
if (logger.LogEnabled()) logger.Log($"Checking Observers on server objects name='{identity.name}' netId={identity.NetId} sceneId={identity.SceneId:X}");
772+
if (logger.LogEnabled()) logger.Log($"Checking Observers on server objects name='{identity.name}' netId={identity.NetId} sceneId={identity.SceneId:X}");
772773

773-
var visible = identity.OnCheckObserver(player);
774-
if (visible)
775-
{
776-
identity.AddObserver(player);
774+
var visible = identity.OnCheckObserver(player);
775+
if (visible)
776+
{
777+
identity.AddObserver(player);
777778
}
778779
}
779780

0 commit comments

Comments
 (0)