void FixedUpdate() { if (!hasPower) { return; } if (complete) { return; } UpdateRaycastOrigins(); Vector3 velocity = CalculatePlatformMovement(); CalculatePassengerMovement(velocity); MovePassengers(true); transform.Translate(velocity); dstTravelled += velocity.magnitude; MovePassengers(false); power.AmountUsed(dstTravelled / totalDst); }