Class VehicleService
[Priority(-3)]
public class VehicleService : ILayoutHostedService, IEventListener<VehicleDespawned>
- Inheritance
-
VehicleService
- Implements
- Inherited Members
Constructors
VehicleService(IServiceProvider, ILogger<VehicleService>, VehicleInfoStore, VehicleSpawnerStore, VehicleSeatRestrictionService)
public VehicleService(IServiceProvider serviceProvider, ILogger<VehicleService> logger, VehicleInfoStore vehicleInfoStore, VehicleSpawnerStore vehicleSpawnerStore, VehicleSeatRestrictionService vehicleSeatRestrictionService)
Parameters
serviceProviderIServiceProviderloggerILogger<VehicleService>vehicleInfoStoreVehicleInfoStorevehicleSpawnerStoreVehicleSpawnerStorevehicleSeatRestrictionServiceVehicleSeatRestrictionService
Fields
MaxBatteryCharge
public const ushort MaxBatteryCharge = 10000
Field Value
VehicleSpawnOffset
public const float VehicleSpawnOffset = 5
Field Value
Properties
Vehicles
public IReadOnlyList<WarfareVehicle> Vehicles { get; }
Property Value
Methods
DeleteAllVehiclesAsync(CancellationToken)
Remove all vehicles and clean up spawn information and items.
public UniTask<int> DeleteAllVehiclesAsync(CancellationToken token = default)
Parameters
tokenCancellationToken
Returns
- UniTask<int>
DeleteVehicleAsync(InteractableVehicle, CancellationToken)
Remove one vehicle and clean up spawn information and items.
public UniTask DeleteVehicleAsync(InteractableVehicle vehicle, CancellationToken token = default)
Parameters
vehicleInteractableVehicletokenCancellationToken
Returns
- UniTask
DeregisterWarfareVehicle(InteractableVehicle)
public WarfareVehicle? DeregisterWarfareVehicle(InteractableVehicle vehicle)
Parameters
vehicleInteractableVehicle
Returns
GetVehicle(InteractableVehicle)
public WarfareVehicle GetVehicle(InteractableVehicle vehicle)
Parameters
vehicleInteractableVehicle
Returns
HandleEvent(VehicleDespawned, IServiceProvider)
public void HandleEvent(VehicleDespawned e, IServiceProvider serviceProvider)
Parameters
eVehicleDespawnedserviceProviderIServiceProvider
RefillTrunkItems(WarfareVehicle, IReadOnlyCollection<TrunkItem>, bool)
public void RefillTrunkItems(WarfareVehicle warfareVehicle, IReadOnlyCollection<WarfareVehicleInfo.TrunkItem> trunkItems, bool dropItemsOnGroundIfNoSpace = true)
Parameters
warfareVehicleWarfareVehicletrunkItemsIReadOnlyCollection<WarfareVehicleInfo.TrunkItem>dropItemsOnGroundIfNoSpacebool
RegisterWarfareVehicle(InteractableVehicle)
public WarfareVehicle RegisterWarfareVehicle(InteractableVehicle vehicle)
Parameters
vehicleInteractableVehicle
Returns
SpawnVehicleAsync(IAssetLink<VehicleAsset>, Vector3, Quaternion, CSteamID, CSteamID, Color32, bool, CancellationToken)
Spawn a vehicle with the given information.
public UniTask<WarfareVehicle> SpawnVehicleAsync(IAssetLink<VehicleAsset> vehicle, Vector3 position, Quaternion rotation, CSteamID owner = default, CSteamID group = default, Color32 paintColor = default, bool locked = true, CancellationToken token = default)
Parameters
vehicleIAssetLink<VehicleAsset>positionVector3rotationQuaternionownerCSteamIDgroupCSteamIDpaintColorColor32lockedbooltokenCancellationToken
Returns
- UniTask<WarfareVehicle>
Exceptions
- AssetNotFoundException
Unable to find the vehicle asset.
- Exception
Game failed to spawn the vehicle.
SpawnVehicleAsync(VehicleSpawner, CancellationToken)
Spawn a vehicle at a given vehicle spawner.
public UniTask<WarfareVehicle> SpawnVehicleAsync(VehicleSpawner spawner, CancellationToken token = default)
Parameters
spawnerVehicleSpawnertokenCancellationToken
Returns
- UniTask<WarfareVehicle>
Exceptions
- AssetNotFoundException
Unable to find the vehicle asset.
- NotSupportedException
There's already a linked vehicle to the spawner.
- RecordsNotFoundException
Unable to find any WarfareVehicleInfo for the vehicle.
- InvalidOperationException
The spawner buildable doesn't exist. -OR- Failed to unlink or link the vehicle to it's spawn.
- Exception
Game failed to spawn the vehicle.
TryMovePlayerToEmptySeat(WarfarePlayer)
public UniTask<bool> TryMovePlayerToEmptySeat(WarfarePlayer player)
Parameters
playerWarfarePlayer
Returns
- UniTask<bool>