# AITrafficCar

| Variables            |                                                                                                                     |
| -------------------- | ------------------------------------------------------------------------------------------------------------------- |
| assignedIndex        | AITrafficController array index, assigned when car is registered.                                                   |
| accelerationPower    | Amount of torque that is passed to car Wheel Colliders when not braking.                                            |
| minDrag              | Minimum amount of drag applied to car Rigidbody when not braking.                                                   |
| minAngularDrag       | Minimum amount of angular drag applied to car Rigidbody when not braking.                                           |
| frontSensorSize      | Size of the front detection sensor BoxCast.                                                                         |
| frontSensorLength    | Length of the front detection sensor BoxCast.                                                                       |
| sideSensorSize       | Size of the side detection sensor BoxCasts.                                                                         |
| sideSensorLength     | Length of the side detection sensor BoxCasts.                                                                       |
| vehicleType          | Vehicles will only spawn, and merge onto routes with matching vehicle types.                                        |
| goToStartOnStop      | Respawn the car to the first route point on it's spawn route when the car comes to a stop.                          |
| topSpeed             | Car max speed, assigned to AITrafficController when car is registered.                                              |
| brakeMaterial        | Material used for brake light emission. If unassigned, the material assigned to the brakeMaterialMesh will be used. |
| brakeMaterialMesh    | If brakeMaterial is unassigned, the material assigned to the brakeMaterialIndex will be used.                       |
| brakeMaterialIndex   | Mesh Renderer material array index to get brakeMaterial from.                                                       |
| frontSensorTransform | Control point to orient/position the front detection sensor.                                                        |
| leftSensorTransform  | Control point to orient/position the left detection sensor.                                                         |
| rightSensorTransform | Control point to orient/position the right detection sensor.                                                        |
| headLight            | Light toggled on/off based on pooling cullHeadLight zone.                                                           |
| wheels               | References to car wheel mesh object, transform, and collider.                                                       |

| Public Methods           |                                                                                                        |
| ------------------------ | ------------------------------------------------------------------------------------------------------ |
| AccelerationInput        | Returns current acceleration input as a float 0-1.                                                     |
| SteeringInput            | Returns current steering input as a float -1 to 1.                                                     |
| CurrentSpeed             | Returns current speed as a float.                                                                      |
| IsBraking                | Returns current breaking input state as a bool.                                                        |
| IsLeftSensor             | Returns true if left sensor is triggered.                                                              |
| IsRightSensor            | Returns true if right sensor is triggered.                                                             |
| IsFrontSensor            | Returns true if front sensor is triggered.                                                             |
| SetTopSpeed(float)       | Updates the AITrafficController top speed value for this AITrafficCar.                                 |
| SetForceLaneChange(bool) | Controls an override flag that requests the car to attempt a lane change when able.                    |
| StartDriving             | The AITrafficCar will start driving.                                                                   |
| StopDriving              | The AITrafficCar will stop driving.                                                                    |
| MoveCarToPool            | Disables the AITrafficCar and returns it to the AITrafficController pool                               |
| DisableAIProcessing      | Stop the AITrafficController from processing component updates on the AITrafficCar and its components. |
| EnableAIProcessing       | Resume AITrafficController processing component updates on the AITrafficCar and its components.        |
| RegisterCar              | Registers the AITrafficCar with the AITrafficController for processing.                                |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://simpletrafficsystem.turnthegameon.com/documentation/api/aitrafficcar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
