public void MoveLift(VehicleLiftState desiredLiftState, float startDelay = 0f, bool forced = false)
 {
     if (vehicleLiftState != desiredLiftState || forced)
     {
         VehicleLiftState vehicleLiftState2 = vehicleLiftState;
         vehicleLiftState = desiredLiftState;
         if (base.isServer)
         {
             UpdateOccupantMode();
             WakeNearbyRigidbodies();
         }
         if (!base.gameObject.activeSelf)
         {
             vehicleLiftAnim[animName].time = ((desiredLiftState == VehicleLiftState.Up) ? 1f : 0f);
             vehicleLiftAnim.Play();
         }
         else if (desiredLiftState == VehicleLiftState.Up)
         {
             Invoke(MoveLiftUp, startDelay);
         }
         else
         {
             Invoke(MoveLiftDown, startDelay);
         }
     }
 }
    public void RefreshLiftState(bool forced = false)
    {
        VehicleLiftState desiredLiftState = ((IsOpen() || (HasEditableOccupant && !HasDriveableOccupant)) ? VehicleLiftState.Up : VehicleLiftState.Down);

        MoveLift(desiredLiftState, 0f, forced);
    }