diff --git a/Source/Engine/Physics/Actors/WheeledVehicle.cpp b/Source/Engine/Physics/Actors/WheeledVehicle.cpp index 66a13fd7f..2f92ef3a8 100644 --- a/Source/Engine/Physics/Actors/WheeledVehicle.cpp +++ b/Source/Engine/Physics/Actors/WheeledVehicle.cpp @@ -33,16 +33,6 @@ void WheeledVehicle::SetDriveType(DriveTypes value) Setup(); } -void WheeledVehicle::SetDriveMode(DriveModes value) -{ - _driveMode = value; -} - -WheeledVehicle::DriveModes WheeledVehicle::GetDriveMode() const -{ - return _driveMode; -} - const Array &WheeledVehicle::GetWheels() const { return _wheels; @@ -441,7 +431,6 @@ void WheeledVehicle::Serialize(SerializeStream &stream, const void *otherObj) SERIALIZE_GET_OTHER_OBJ(WheeledVehicle); SERIALIZE_MEMBER(DriveType, _driveType); - SERIALIZE_MEMBER(DriveModes, _driveMode); SERIALIZE_MEMBER(Wheels, _wheels); SERIALIZE_MEMBER(DriveControl, _driveControl); SERIALIZE(UseReverseAsBrake); @@ -457,7 +446,6 @@ void WheeledVehicle::Deserialize(DeserializeStream &stream, ISerializeModifier * RigidBody::Deserialize(stream, modifier); DESERIALIZE_MEMBER(DriveType, _driveType); - DESERIALIZE_MEMBER(DriveModes, _driveMode); DESERIALIZE_MEMBER(Wheels, _wheels); DESERIALIZE_MEMBER(DriveControl, _driveControl); DESERIALIZE(UseReverseAsBrake); diff --git a/Source/Engine/Physics/Actors/WheeledVehicle.h b/Source/Engine/Physics/Actors/WheeledVehicle.h index 2048a2f46..396f74543 100644 --- a/Source/Engine/Physics/Actors/WheeledVehicle.h +++ b/Source/Engine/Physics/Actors/WheeledVehicle.h @@ -130,6 +130,11 @@ API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Wheeled Vehicle\"), ActorTo DECLARE_SCRIPTING_TYPE_MINIMAL(DriveControlSettings); API_AUTO_SERIALIZATION(); + /// + /// Gets or sets the drive mode, used by vehicles specify the way of the tracks control. + /// + API_FIELD(Attributes="EditorOrder(0), EditorDisplay(\"Tanks\")") WheeledVehicle::DriveModes DriveMode; + /// /// Acceleration input sensitive. /// @@ -441,7 +446,6 @@ private: void* _vehicle = nullptr; DriveTypes _driveType = DriveTypes::Drive4W, _driveTypeCurrent; - DriveModes _driveMode = DriveModes::Standard; Array> _wheelsData; float _throttle = 0.0f, _steering = 0.0f, _brake = 0.0f, _handBrake = 0.0f, _tankLeftThrottle, _tankRightThrottle, _tankLeftBrake, _tankRightBrake; Array _wheels; @@ -476,16 +480,6 @@ public: /// API_PROPERTY() void SetDriveType(DriveTypes value); - /// - /// Used only for tanks, set the drive mode. - /// - API_PROPERTY() void SetDriveMode(DriveModes value); - - /// - /// Gets the vehicle driving mode. Used only on tanks - /// - API_PROPERTY(Attributes="EditorOrder(3), EditorDisplay(\"Vehicle\")") DriveModes GetDriveMode() const; - /// /// Gets the vehicle wheels settings. /// diff --git a/Source/Engine/Physics/PhysX/PhysicsBackendPhysX.cpp b/Source/Engine/Physics/PhysX/PhysicsBackendPhysX.cpp index 70ac6a2af..7fbcfc1be 100644 --- a/Source/Engine/Physics/PhysX/PhysicsBackendPhysX.cpp +++ b/Source/Engine/Physics/PhysX/PhysicsBackendPhysX.cpp @@ -1397,7 +1397,7 @@ void PhysicsBackend::EndSimulateScene(void* scene) float leftBrake = Math::Max(wheelVehicle->_tankLeftBrake, wheelVehicle->_handBrake); float rightBrake = Math::Max(wheelVehicle->_tankRightBrake, wheelVehicle->_handBrake); - WheeledVehicle::DriveModes vehicleDriveMode = wheelVehicle->_driveMode; + WheeledVehicle::DriveModes vehicleDriveMode = wheelVehicle->_driveControl.DriveMode; if (isTank) {