importonly class vehicleController extends GameComponent
{
	public import function SetLightColor( lightType : vehicleELightType, color : Color, optional inTime : Float, optional forceOverrideEmissiveColor : Bool );
	public import function ResetLightColor( lightType : vehicleELightType, optional inTime : Float );
	public import function SetLightStrength( lightType : vehicleELightType, strength : Float, optional inTime : Float );
	public import function ResetLightStrength( lightType : vehicleELightType, optional inTime : Float );
	public import function SetLightParameters( lightType : vehicleELightType, strength : Float, color : Color, optional inTime : Float );
	public import function ResetLightParameters( lightType : vehicleELightType, optional inTime : Float );
	public import function ToggleLights( on : Bool, optional lightType : vehicleELightType, optional inTime : Float, optional lerpCurve : CName, optional loop : Bool );
	public import function AreDefaultLightsToggled() : Bool;
}

importonly class vehicleControllerPS extends GameComponentPS
{
	public import function GetState() : vehicleEState;
	public import function SetState( state : vehicleEState );
	public import function SetHeadLightMode( lightMode : vehicleELightMode );
	public import function GetHeadLightMode() : vehicleELightMode;
	public import function CycleHeadLightMode( optional isPlayer : Bool );
	public import function IsAlarmOn() : Bool;
	public import function SetAlarm( on : Bool );
	public import function SetDoorState( door : EVehicleDoor, state : VehicleDoorState, immediate : Bool );
	public import function GetDoorState( door : EVehicleDoor ) : VehicleDoorState;
	public import function SetWindowState( door : EVehicleDoor, state : EVehicleWindowState );
	public import function GetWindowState( door : EVehicleDoor ) : EVehicleWindowState;
	public import function SetDoorInteractionState( door : EVehicleDoor, state : VehicleDoorInteractionState );
	public import function GetDoorInteractionState( door : EVehicleDoor ) : VehicleDoorInteractionState;
	public import function SetAllowPassengerCameraSwitch( allow : Bool );
	public import function GetAllowPassengerCameraSwitch() : Bool;
}

importonly class vehicleChangeStateEvent extends Event
{
	import var newState : vehicleEState;
	import var oldState : vehicleEState;
}

import enum vehicleEState
{
	Default,
	On,
	Disabled,
	Destroyed,
}

import enum vehicleELightMode
{
	Off,
	On,
	HighBeams,
}

import enum vehicleELightType
{
	Head,
	Brake,
	LeftBlinker,
	RightBlinker,
	Reverse,
	Interior,
	Utility,
	Default,
	Blinkers,
}

