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