diff --git a/Source/Engine/Physics/Actors/WheeledVehicle.cpp b/Source/Engine/Physics/Actors/WheeledVehicle.cpp index 3cca1fe08..84b0c5144 100644 --- a/Source/Engine/Physics/Actors/WheeledVehicle.cpp +++ b/Source/Engine/Physics/Actors/WheeledVehicle.cpp @@ -58,10 +58,7 @@ void WheeledVehicle::SetDriveType(DriveTypes value) if (_driveType == value) return; _driveType = value; - if (IsDuringPlay()) - { - Setup(); - } + Setup(); } const Array& WheeledVehicle::GetWheels() const @@ -72,10 +69,7 @@ const Array& WheeledVehicle::GetWheels() const void WheeledVehicle::SetWheels(const Array& value) { _wheels = value; - if (IsDuringPlay()) - { - Setup(); - } + Setup(); } WheeledVehicle::EngineSettings WheeledVehicle::GetEngine() const @@ -235,7 +229,7 @@ void WheeledVehicle::GetWheelState(int32 index, WheelState& result) void WheeledVehicle::Setup() { #if WITH_VEHICLE - if (!_actor) + if (!_actor || !IsDuringPlay()) return; auto& drive = (PxVehicleWheels*&)_drive; diff --git a/Source/Engine/Physics/Actors/WheeledVehicle.h b/Source/Engine/Physics/Actors/WheeledVehicle.h index 4a2de9094..62db24231 100644 --- a/Source/Engine/Physics/Actors/WheeledVehicle.h +++ b/Source/Engine/Physics/Actors/WheeledVehicle.h @@ -372,9 +372,13 @@ public: /// The current state. API_FUNCTION() void GetWheelState(int32 index, API_PARAM(Out) WheelState& result); + /// + /// Rebuilds the vehicle. Call it after modifying vehicle settings (eg. engine options). + /// + API_FUNCTION() void Setup(); + private: - void Setup(); #if USE_EDITOR void DrawPhysicsDebug(RenderView& view); #endif