Struct IVehiclesComponent
This type represents a pointer to an unmanaged open.mp IVehiclesComponent interface.
[OpenMpApi(new Type[] { typeof(IPoolComponent<IVehicle>) })]
public readonly struct IVehiclesComponent : IEquatable<IVehiclesComponent>, IVehiclesComponent.IManagedInterface, IPoolComponent<IVehicle>.IManagedInterface, IComponent.IManagedInterface, IUnmanagedInterface
- Implements
- Inherited Members
Constructors
IVehiclesComponent(nint)
Initializes a new instance of the IVehiclesComponent struct.
public IVehiclesComponent(nint handle)
Parameters
handlenintA pointer to the unmanaged interface.
Properties
Handle
Gets the handle to the unmanaged interface instance.
public nint Handle { get; }
Property Value
HasValue
Gets a value indicating whether the pointer has a value.
public bool HasValue { get; }
Property Value
Methods
AsPool()
Converts this component to a pool.
public IPool<IVehicle> AsPool()
Returns
ComponentName()
Gets the name of the component.
public string ComponentName()
Returns
- string
The component name.
ComponentVersion()
Gets the version of the component.
public SemanticVersion ComponentVersion()
Returns
- SemanticVersion
The component version.
Create(bool, int, Vector3, float, int, int, TimeSpan, bool)
Creates a new vehicle.
public IVehicle Create(bool isStatic, int modelID, Vector3 position, float Z = 0, int colour1 = -1, int colour2 = -1, TimeSpan respawnDelay = default, bool addSiren = false)
Parameters
isStaticboolmodelIDintThe model ID of the vehicle.
positionVector3The position where the vehicle will be created.
ZfloatThe Z angle (rotation) of the vehicle. Default is 0.0f.
colour1intThe primary color of the vehicle. Default is -1.
colour2intThe secondary color of the vehicle. Default is -1.
respawnDelayTimeSpanThe respawn delay of the vehicle. Use Zero or a negative value to disable respawn.
addSirenbooltrue if the vehicle should have a siren; otherwise, false. Default is false.
Returns
- IVehicle
The created vehicle.
Equals(IVehiclesComponent)
public bool Equals(IVehiclesComponent other)
Parameters
otherIVehiclesComponent
Returns
Equals(object?)
public override bool Equals(object? other)
Parameters
otherobject
Returns
GetComponentType()
Gets the type of the component.
public ComponentType GetComponentType()
Returns
- ComponentType
The component type.
GetEventDispatcher()
Gets the event dispatcher for vehicle events.
public IEventDispatcher<IVehicleEventHandler> GetEventDispatcher()
Returns
- IEventDispatcher<IVehicleEventHandler>
The event dispatcher for vehicle events.
GetHashCode()
public override int GetHashCode()
Returns
Models()
Retrieves the array of vehicle models.
public ref VehicleModelsArray Models()
Returns
- VehicleModelsArray
A reference to the array of vehicle models.
SupportedVersion()
Gets the supported version of the component.
public int SupportedVersion()
Returns
- int
The supported version of the component.
Remarks
The idea is for the SDK to be totally forward compatible, so code built at any time will always work, thanks to
ABI compatibility. This method is an emergency trap door, just in case that's ever not the problem. Check
which major version this component was built for, if it isn't the current major version, fail to load it.
Always just returns a constant, recompiling will often be enough to upgrade. virtual and final to be the
vtable, but it can't be overridden because it is a constant.
Operators
operator ==(IVehiclesComponent, object?)
Determines whether the specified values are equal.
public static bool operator ==(IVehiclesComponent lhs, object? rhs)
Parameters
lhsIVehiclesComponentThe value on the left side of the operator.
rhsobjectThe value on the right side of the operator.
Returns
- bool
trueif the values are equal; otherwise,false.
explicit operator IVehiclesComponent(IComponent)
Casts the IComponent to a IVehiclesComponent.
public static explicit operator IVehiclesComponent(IComponent value)
Parameters
valueIComponentThe IComponent to cast.
Returns
- IVehiclesComponent
The converted IVehiclesComponent.
explicit operator IVehiclesComponent(IPoolComponent<IVehicle>)
Casts the IPoolComponent<T> to a IVehiclesComponent.
public static explicit operator IVehiclesComponent(IPoolComponent<IVehicle> value)
Parameters
valueIPoolComponent<IVehicle>The IPoolComponent<T> to cast.
Returns
- IVehiclesComponent
The converted IVehiclesComponent.
explicit operator IComponent(IVehiclesComponent)
Casts the IVehiclesComponent to a IComponent.
public static explicit operator IComponent(IVehiclesComponent value)
Parameters
valueIVehiclesComponentThe IVehiclesComponent to cast.
Returns
- IComponent
The converted IComponent.
explicit operator IPoolComponent<IVehicle>(IVehiclesComponent)
Casts the IVehiclesComponent to a IPoolComponent<T>.
public static explicit operator IPoolComponent<IVehicle>(IVehiclesComponent value)
Parameters
valueIVehiclesComponentThe IVehiclesComponent to cast.
Returns
- IPoolComponent<IVehicle>
The converted IPoolComponent<T>.
operator !=(IVehiclesComponent, object?)
Determines whether the specified values are not equal.
public static bool operator !=(IVehiclesComponent lhs, object? rhs)
Parameters
lhsIVehiclesComponentThe value on the left side of the operator.
rhsobjectThe value on the right side of the operator.
Returns
- bool
trueif the values are not equal; otherwise,false.
Explicit Interface Implementations
ComponentId
Gets the identifier of the component type.
static UID ComponentId { get; }
Returns
FromComponentHandle(nint)
Casts a handle from a IComponent handle to a handle of this type.
static nint FromComponentHandle(nint handle)
Parameters
handlenintThe IComponent handle.
Returns
- nint
The handle of this type.