void Update() { if (_gameManager == null) { return; } WSClient.GetGameState(); var frameDelta = WSClientState.GameState.FrameCount - _lastFrameCount; if (frameDelta <= 0) { return; } WSClientState.GameState.FrameCount = _lastFrameCount; var gameState = WSClientState.GameState; _gameManager.ServerGameTime = gameState.GameTime; // ball _gameManager.Ball.transform.position = gameState.BallPosition; _gameManager.Ball.GetComponent <Rigidbody2D>().velocity = gameState.BallVelocity; // players var serverPlayers = gameState.PlayersState; if (gameState.PlayersState != null) { var clientPlayers = _gameManager.Players; foreach (var serverPlayer in serverPlayers) { if (!clientPlayers.ContainsKey(serverPlayer.DeviceId)) { continue; } LoadPlayer(clientPlayers[serverPlayer.DeviceId], serverPlayer, frameDelta); } } }