add validation to vehicle drive
This commit is contained in:
@@ -45,6 +45,16 @@ WheeledVehicle::DriveControlSettings WheeledVehicle::GetDriveControl() const
|
||||
|
||||
void WheeledVehicle::SetDriveControl(DriveControlSettings &value)
|
||||
{
|
||||
value.RiseRateAcceleration = Math::Max(value.RiseRateAcceleration, 0.01f);
|
||||
value.RiseRateBrake = Math::Max(value.RiseRateBrake, 0.01f);
|
||||
value.RiseRateHandBrake = Math::Max(value.RiseRateHandBrake, 0.01f);
|
||||
value.RiseRateSteer = Math::Max(value.RiseRateSteer, 0.01f);
|
||||
|
||||
value.FallRateAcceleration = Math::Max(value.FallRateAcceleration, 0.01f);
|
||||
value.FallRateBrake = Math::Max(value.FallRateBrake, 0.01f);
|
||||
value.FallRateHandBrake = Math::Max(value.FallRateHandBrake, 0.01f);
|
||||
value.FallRateSteer = Math::Max(value.FallRateSteer, 0.01f);
|
||||
|
||||
// Don't let have an invalid steer vs speed list.
|
||||
if (value.SteerVsSpeed.Count() < 1)
|
||||
value.SteerVsSpeed.Add(WheeledVehicle::SteerControl());
|
||||
|
||||
@@ -138,42 +138,42 @@ API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Wheeled Vehicle\"), ActorTo
|
||||
/// <summary>
|
||||
/// Acceleration input sensitive.
|
||||
/// </summary>
|
||||
API_FIELD(Attributes="Limit(0), EditorOrder(10)") float RiseRateAcceleration = 6.0f;
|
||||
API_FIELD(Attributes="EditorOrder(10)") float RiseRateAcceleration = 6.0f;
|
||||
|
||||
/// <summary>
|
||||
/// Deceleration input sensitive.
|
||||
/// </summary>
|
||||
API_FIELD(Attributes="Limit(0), EditorOrder(11)") float FallRateAcceleration = 10.0f;
|
||||
API_FIELD(Attributes="EditorOrder(11)") float FallRateAcceleration = 10.0f;
|
||||
|
||||
/// <summary>
|
||||
/// Brake input sensitive.
|
||||
/// </summary>
|
||||
API_FIELD(Attributes="Limit(0), EditorOrder(12)") float RiseRateBrake = 6.0f;
|
||||
API_FIELD(Attributes="EditorOrder(12)") float RiseRateBrake = 6.0f;
|
||||
|
||||
/// <summary>
|
||||
/// Release brake sensitive.
|
||||
/// </summary>
|
||||
API_FIELD(Attributes="Limit(0), EditorOrder(13)") float FallRateBrake = 10.0f;
|
||||
API_FIELD(Attributes="EditorOrder(13)") float FallRateBrake = 10.0f;
|
||||
|
||||
/// <summary>
|
||||
/// Brake input sensitive.
|
||||
/// </summary>
|
||||
API_FIELD(Attributes="Limit(0), EditorOrder(14)") float RiseRateHandBrake = 12.0f;
|
||||
API_FIELD(Attributes="EditorOrder(14)") float RiseRateHandBrake = 12.0f;
|
||||
|
||||
/// <summary>
|
||||
/// Release handbrake sensitive.
|
||||
/// </summary>
|
||||
API_FIELD(Attributes="Limit(0), EditorOrder(15)") float FallRateHandBrake = 12.0f;
|
||||
API_FIELD(Attributes="EditorOrder(15)") float FallRateHandBrake = 12.0f;
|
||||
|
||||
/// <summary>
|
||||
/// Steer input sensitive.
|
||||
/// </summary>
|
||||
API_FIELD(Attributes="Limit(0), EditorOrder(16)") float RiseRateSteer = 2.5f;
|
||||
API_FIELD(Attributes="EditorOrder(16)") float RiseRateSteer = 2.5f;
|
||||
|
||||
/// <summary>
|
||||
/// Release steer input sensitive.
|
||||
/// </summary>
|
||||
API_FIELD(Attributes="Limit(0), EditorOrder(17)") float FallRateSteer = 5.0f;
|
||||
API_FIELD(Attributes="EditorOrder(17)") float FallRateSteer = 5.0f;
|
||||
|
||||
/// <summary>
|
||||
/// Vehicle control relationship between speed and steer. The higher is the speed,
|
||||
|
||||
Reference in New Issue
Block a user