public static async Task <CitizenFX.Core.Vehicle> ToCitizenVehicle(this Vehicle vehicle)
        {
            var citizenVehicle = await World.CreateVehicle(new Model((int)vehicle.Hash), vehicle.Position.ToVector3(), vehicle.Heading);

            if (!API.DoesEntityExist(citizenVehicle.Handle))
            {
                throw new Exception("Failed to create vehicle in game world.");
            }

            citizenVehicle.Rotation                = new Vector3(vehicle.Rotation.X, vehicle.Rotation.Y, vehicle.Rotation.Z);
            citizenVehicle.SteeringAngle           = vehicle.SteeringAngle;
            citizenVehicle.BodyHealth              = vehicle.BodyHealth;
            citizenVehicle.EngineHealth            = vehicle.EngineHealth;
            citizenVehicle.DirtLevel               = vehicle.DirtLevel;
            citizenVehicle.FuelLevel               = vehicle.FuelLevel;
            citizenVehicle.OilLevel                = vehicle.OilLevel;
            citizenVehicle.PetrolTankHealth        = vehicle.PetrolTankHealth;
            citizenVehicle.TowingCraneRaisedAmount = vehicle.TowingCraneRaisedAmount;
            //citizenVehicle.HasAlarm = vehicle.HasAlarm;
            citizenVehicle.IsAlarmSet = vehicle.IsAlarmed;
            //citizenVehicle.HasLock = vehicle.HasLock;
            citizenVehicle.IsDriveable     = vehicle.IsDrivable;
            citizenVehicle.IsEngineRunning = vehicle.IsEngineRunning;
            //citizenVehicle.HasSeatbelts = vehicle.HasSeatBelts;
            citizenVehicle.AreHighBeamsOn          = vehicle.IsHighBeamsOn;
            citizenVehicle.AreLightsOn             = vehicle.IsLightsOn;
            citizenVehicle.IsInteriorLightOn       = vehicle.IsInteriorLightOn;
            citizenVehicle.IsSearchLightOn         = vehicle.IsSearchLightOn;
            citizenVehicle.IsTaxiLightOn           = vehicle.IsTaxiLightOn;
            citizenVehicle.IsLeftIndicatorLightOn  = vehicle.IsLeftIndicatorLightOn;
            citizenVehicle.IsRightIndicatorLightOn = vehicle.IsRightIndicatorLightOn;
            //citizenVehicle.IsFrontBumperBrokenOff = vehicle.IsFrontBumperBrokenOff;
            //citizenVehicle.IsRearBumperBrokenOff = vehicle.IsRearBumperBrokenOff;
            citizenVehicle.IsLeftHeadLightBroken  = vehicle.IsLeftHeadLightBroken;
            citizenVehicle.IsRightHeadLightBroken = vehicle.IsRightHeadLightBroken;
            citizenVehicle.IsRadioEnabled         = vehicle.IsRadioEnabled;
            citizenVehicle.RoofState         = vehicle.IsRoofOpen ? VehicleRoofState.Opened : VehicleRoofState.Closed;
            citizenVehicle.NeedsToBeHotwired = vehicle.NeedsToBeHotWired;
            citizenVehicle.CanTiresBurst     = vehicle.CanTiresBurst;

            if (vehicle.PrimaryColor.IsCustom)
            {
                citizenVehicle.Mods.CustomPrimaryColor = vehicle.PrimaryColor.CustomColor.ToCitColor();
            }
            else
            {
                citizenVehicle.Mods.PrimaryColor = (CitizenFX.Core.VehicleColor)vehicle.PrimaryColor.StockColor;
            }

            if (vehicle.SecondaryColor.IsCustom)
            {
                citizenVehicle.Mods.CustomSecondaryColor = vehicle.SecondaryColor.CustomColor.ToCitColor();
            }
            else
            {
                citizenVehicle.Mods.SecondaryColor = (CitizenFX.Core.VehicleColor)vehicle.SecondaryColor.StockColor;
            }

            citizenVehicle.Mods.PearlescentColor = (CitizenFX.Core.VehicleColor)vehicle.PearlescentColor;
            citizenVehicle.Mods.RimColor         = (CitizenFX.Core.VehicleColor)vehicle.RimColor;
            citizenVehicle.Mods.TrimColor        = (CitizenFX.Core.VehicleColor)vehicle.TrimColor;
            citizenVehicle.Mods.DashboardColor   = (CitizenFX.Core.VehicleColor)vehicle.DashboardColor;
            citizenVehicle.Mods.NeonLightsColor  = vehicle.NeonColor.ToCitColor();

            citizenVehicle.Mods.SetNeonLightsOn(VehicleNeonLight.Back, vehicle.NeonPositions.HasFlag(VehicleNeonPositions.Back));
            citizenVehicle.Mods.SetNeonLightsOn(VehicleNeonLight.Front, vehicle.NeonPositions.HasFlag(VehicleNeonPositions.Front));
            citizenVehicle.Mods.SetNeonLightsOn(VehicleNeonLight.Left, vehicle.NeonPositions.HasFlag(VehicleNeonPositions.Left));
            citizenVehicle.Mods.SetNeonLightsOn(VehicleNeonLight.Right, vehicle.NeonPositions.HasFlag(VehicleNeonPositions.Right));

            citizenVehicle.Mods.WindowTint = (CitizenFX.Core.VehicleWindowTint)vehicle.WindowTint;
            citizenVehicle.LockStatus      = (CitizenFX.Core.VehicleLockStatus)vehicle.LockStatus;

            //citizenVehicle.RadioStation = (RadioStation)(int)vehicle.RadioStation;

            //TODO: Set vehicle Extras/Seats/Doors/Windows/Wheels/etc

            return(citizenVehicle);
        }
 public static Car ToCar(this Vehicle vehicle) => new Car
 {
     Id                      = vehicle.Id,
     Created                 = vehicle.Created,
     Deleted                 = vehicle.Deleted,
     Hash                    = vehicle.Hash,
     Handle                  = vehicle.Handle,
     NetId                   = vehicle.NetId,
     VIN                     = vehicle.VIN,
     LicensePlate            = vehicle.LicensePlate,
     TrackingUserId          = vehicle.TrackingUserId,
     Position                = vehicle.Position,
     Rotation                = vehicle.Rotation,
     SteeringAngle           = vehicle.SteeringAngle,
     Heading                 = vehicle.Heading,
     BodyHealth              = vehicle.BodyHealth,
     EngineHealth            = vehicle.EngineHealth,
     DirtLevel               = vehicle.DirtLevel,
     FuelLevel               = vehicle.FuelLevel,
     OilLevel                = vehicle.OilLevel,
     PetrolTankHealth        = vehicle.PetrolTankHealth,
     TowingCraneRaisedAmount = vehicle.TowingCraneRaisedAmount,
     HasAlarm                = vehicle.HasAlarm,
     IsAlarmed               = vehicle.IsAlarmed,
     IsAlarmSounding         = vehicle.IsAlarmSounding,
     HasLock                 = vehicle.HasLock,
     IsDrivable              = vehicle.IsDrivable,
     IsEngineRunning         = vehicle.IsEngineRunning,
     HasSeatBelts            = vehicle.HasSeatBelts,
     IsHighBeamsOn           = vehicle.IsHighBeamsOn,
     IsLightsOn              = vehicle.IsLightsOn,
     IsInteriorLightOn       = vehicle.IsInteriorLightOn,
     IsSearchLightOn         = vehicle.IsSearchLightOn,
     IsTaxiLightOn           = vehicle.IsTaxiLightOn,
     IsLeftIndicatorLightOn  = vehicle.IsLeftIndicatorLightOn,
     IsRightIndicatorLightOn = vehicle.IsRightIndicatorLightOn,
     IsFrontBumperBrokenOff  = vehicle.IsFrontBumperBrokenOff,
     IsRearBumperBrokenOff   = vehicle.IsRearBumperBrokenOff,
     IsLeftHeadLightBroken   = vehicle.IsLeftHeadLightBroken,
     IsRightHeadLightBroken  = vehicle.IsRightHeadLightBroken,
     IsRadioEnabled          = vehicle.IsRadioEnabled,
     IsRoofOpen              = vehicle.IsRoofOpen,
     NeedsToBeHotWired       = vehicle.NeedsToBeHotWired,
     HasRoof                 = vehicle.HasRoof,
     IsVehicleConvertible    = vehicle.IsVehicleConvertible,
     CanTiresBurst           = vehicle.CanTiresBurst,
     PrimaryColor            = vehicle.PrimaryColor,
     SecondaryColor          = vehicle.SecondaryColor,
     PearlescentColor        = vehicle.PearlescentColor,
     DashboardColor          = vehicle.DashboardColor,
     RimColor                = vehicle.RimColor,
     NeonColor               = vehicle.NeonColor,
     NeonPositions           = vehicle.NeonPositions,
     TireSmokeColor          = vehicle.TireSmokeColor,
     TrimColor               = vehicle.TrimColor,
     WindowTint              = vehicle.WindowTint,
     LockStatus              = vehicle.LockStatus,
     RadioStation            = vehicle.RadioStation,
     Class                   = vehicle.Class,
     Extras                  = vehicle.Extras,
     Windows                 = vehicle.Windows,
     Seats                   = vehicle.Seats,
     Mods                    = vehicle.Mods,
     Doors                   = vehicle.Doors,
     Wheels                  = vehicle.Wheels
 };