import enum vehicleCameraType
{
	FPP,
	TPP,
}

import enum vehicleCameraPerspective : Uint8
{
	FPP,
	TPPClose,
	TPPMedium,
	TPPFar,
	DriverCombatClose,
	DriverCombatMedium,
	DriverCombatFar,
}

import class vehicleRequestCameraPerspectiveEvent extends Event
{
	import var cameraPerspective : vehicleCameraPerspective;
}

importonly class vehicleCinematicCameraToggleEvent extends Event
{
}

importonly class vehicleCameraResetEvent extends Event
{
}

importonly class vehicleRequestTPPCameraSoftResetEvent extends Event
{
}

import class vehicleCameraSceneEnableEvent extends Event
{
	import var scene : Bool;
}

importonly class VehicleCameraManager extends IScriptable
{
	public import final function IsTPPActive() : Bool;
	public import final function GetActivePerspective() : vehicleCameraPerspective;
	public import final function GetPersistentPerspective() : vehicleCameraPerspective;
}

importonly class VehicleCameraManagerFT extends VehicleCameraManager
{
	public import final function FT_IsSceneModeActive() : Bool;
	public import final function FT_RequestSceneMode( active : Bool );
	public import final function FT_GetActiveCameraType() : vehicleCameraType;
}

importonly class VehicleCameraManagerComponent extends GameComponent
{
	public import final function GetManagerHandle() : VehicleCameraManager;
}

