internal void OnHostClientObjectHide(ObjectHideMessage msg) { if (logger.LogEnabled()) { logger.Log("ClientScene::OnLocalObjectObjHide netId:" + msg.netId); } if (Spawned.TryGetValue(msg.netId, out NetworkIdentity localObject) && localObject != null) { localObject.OnSetHostVisibility(false); } }
internal void OnRpcMessage(RpcMessage msg) { if (logger.LogEnabled()) { logger.Log("ClientScene.OnRPCMessage hash:" + msg.functionHash + " netId:" + msg.netId); } if (Spawned.TryGetValue(msg.netId, out NetworkIdentity identity) && identity != null) { using (PooledNetworkReader networkReader = NetworkReaderPool.GetReader(msg.payload)) identity.HandleRemoteCall(msg.componentIndex, msg.functionHash, MirrorInvokeType.ClientRpc, networkReader); } }
internal void OnRpcMessage(RpcMessage msg) { if (LogFilter.Debug) { Debug.Log("ClientScene.OnRPCMessage hash:" + msg.functionHash + " netId:" + msg.netId); } if (Spawned.TryGetValue(msg.netId, out NetworkIdentity identity)) { using (PooledNetworkReader networkReader = NetworkReaderPool.GetReader(msg.payload)) identity.HandleRpc(msg.componentIndex, msg.functionHash, networkReader); } }
internal void OnHostClientSpawn(SpawnMessage msg) { if (Spawned.TryGetValue(msg.netId, out NetworkIdentity localObject) && localObject != null) { if (msg.isLocalPlayer) { InternalAddPlayer(localObject); } localObject.HasAuthority = msg.isOwner; localObject.NotifyAuthority(); localObject.StartClient(); localObject.OnSetHostVisibility(true); CheckForLocalPlayer(localObject); } }
internal void OnUpdateVarsMessage(UpdateVarsMessage msg) { if (logger.LogEnabled()) { logger.Log("ClientScene.OnUpdateVarsMessage " + msg.netId); } if (Spawned.TryGetValue(msg.netId, out NetworkIdentity localObject) && localObject != null) { using (PooledNetworkReader networkReader = NetworkReaderPool.GetReader(msg.payload)) localObject.OnDeserializeAllSafely(networkReader, false); } else { logger.LogWarning("Did not find target for sync message for " + msg.netId + " . Note: this can be completely normal because UDP messages may arrive out of order, so this message might have arrived after a Destroy message."); } }
void DestroyObject(uint netId) { if (logger.LogEnabled()) { logger.Log("ClientScene.OnObjDestroy netId:" + netId); } if (Spawned.TryGetValue(netId, out NetworkIdentity localObject) && localObject != null) { UnSpawn(localObject); Spawned.Remove(netId); } else { logger.LogWarning("Did not find target for destroy message for " + netId); } }
internal void OnSyncEventMessage(SyncEventMessage msg) { if (logger.LogEnabled()) { logger.Log("ClientScene.OnSyncEventMessage " + msg.netId); } if (Spawned.TryGetValue(msg.netId, out NetworkIdentity identity)) { using (PooledNetworkReader networkReader = NetworkReaderPool.GetReader(msg.payload)) identity.HandleSyncEvent(msg.componentIndex, msg.functionHash, networkReader); } else { logger.LogWarning("Did not find target for SyncEvent message for " + msg.netId); } }
NetworkIdentity GetExistingObject(uint netid) { Spawned.TryGetValue(netid, out NetworkIdentity localObject); return(localObject); }