// Token: 0x06001FA5 RID: 8101 RVA: 0x000897C4 File Offset: 0x000879C4 private void FixedUpdate() { if (!NetworkManager.singleton) { return; } ReadOnlyCollection <CharacterNetworkTransform> readOnlyInstancesList = CharacterNetworkTransform.readOnlyInstancesList; float fixedTime = Time.fixedTime; for (int i = 0; i < readOnlyInstancesList.Count; i++) { CharacterNetworkTransform characterNetworkTransform = readOnlyInstancesList[i]; if (characterNetworkTransform.hasEffectiveAuthority && fixedTime - characterNetworkTransform.lastPositionTransmitTime > characterNetworkTransform.positionTransmitInterval) { characterNetworkTransform.lastPositionTransmitTime = fixedTime; this.snapshotQueue.Enqueue(new CharacterNetworkTransformManager.NetSnapshot { gameObject = characterNetworkTransform.gameObject, snapshot = characterNetworkTransform.newestNetSnapshot }); } } while (this.snapshotQueue.Count > 0) { this.ProcessQueue(); } }
// Token: 0x06001FA3 RID: 8099 RVA: 0x000894E4 File Offset: 0x000876E4 private void HandleTransformUpdatesInternal(NetworkMessage netMsg) { uint num = (uint)netMsg.reader.ReadByte(); float filteredClientRttFixed = GameNetworkManager.singleton.filteredClientRttFixed; int num2 = 0; while ((long)num2 < (long)((ulong)num)) { netMsg.ReadMessage <CharacterNetworkTransformManager.CharacterUpdateMessage>(this.currentInMessage); GameObject gameObject = this.currentInMessage.gameObject; if (gameObject && (!NetworkServer.active || gameObject.GetComponent <NetworkIdentity>().clientAuthorityOwner == netMsg.conn)) { CharacterNetworkTransform component = gameObject.GetComponent <CharacterNetworkTransform>(); if (component && !component.hasEffectiveAuthority) { CharacterNetworkTransform.Snapshot snapshot = new CharacterNetworkTransform.Snapshot { serverTime = this.currentInMessage.timestamp, position = this.currentInMessage.newPosition, moveVector = this.currentInMessage.moveVector, aimDirection = this.currentInMessage.aimDirection, rotation = this.currentInMessage.rotation, isGrounded = this.currentInMessage.isGrounded, groundNormal = this.currentInMessage.groundNormal }; if (NetworkClient.active) { snapshot.serverTime += filteredClientRttFixed; } component.PushSnapshot(snapshot); if (NetworkServer.active) { this.snapshotQueue.Enqueue(new CharacterNetworkTransformManager.NetSnapshot { gameObject = component.gameObject, snapshot = snapshot }); } } } num2++; } }