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);
    }