private void LocalClientUpdate() { if (isServer) { return; } float timestamp = Time.time; if (isPredictionEnabled) { _screenWrapper.CheckObjectOutOfScreen(); Vector2 position = transform.position; _predictedPackages.Add(new PositionTimestampReceivePackage { percentX = ExtensionFunctions.Map(position.x, _screenWrapper.LeftMostPoint, _screenWrapper.RightMostPoint, -1, 1), percentY = ExtensionFunctions.Map(position.y, _screenWrapper.TopMostPoint, _screenWrapper.BottomMostPoint, 1, -1), timestamp = timestamp }); } }
private void LocalClientUpdate() { if (!isLocalPlayer || isServer) { return; } float moveZ = Input.GetAxis(Controls.PlayerVM); float moveX = Input.GetAxis(Controls.PlayerHM); float timestamp = Time.time; if (isPredictionEnabled) { RotatePlayer(moveX); MovePlayerForward(moveZ); SetMovementAnimation(moveZ); _screenWrapper.CheckObjectOutOfScreen(); Vector3 position = transform.position; Vector3 rotation = transform.rotation.eulerAngles; Vector3 velocity = _playerRb.velocity; _predictedPackages.Add(new PositionReceivePackage { percentX = ExtensionFunctions.Map(position.x, _screenWrapper.LeftMostPoint, _screenWrapper.RightMostPoint, -1, 1), percentY = ExtensionFunctions.Map(position.y, _screenWrapper.TopMostPoint, _screenWrapper.BottomMostPoint, 1, -1), velocityX = velocity.x, velocityY = velocity.y, rotationZ = rotation.z, roll = _roll, movementAnimation = moveZ > 0, timestamp = timestamp, }); } PacketManager.AddPackage(new InputSendPackage { horizontal = moveX, vertical = moveZ, timestamp = timestamp }); }