public void OnPlayerConnect(IntPtr playerPointer, ushort playerId, string reason) { if (!PlayerPool.GetOrCreate(playerPointer, playerId, out var player)) { return; } OnPlayerConnectEvent(player, reason); }
public IEnumerable <IVehicle> GetVehicles() { var vehicleCount = AltNative.Server.Server_GetVehicleCount(NativePointer); var pointers = new IntPtr[vehicleCount]; AltNative.Server.Server_GetVehicles(NativePointer, pointers, vehicleCount); foreach (var vehiclePointer in pointers) { if (vehiclePool.GetOrCreate(vehiclePointer, out var vehicle)) { yield return(vehicle); } } }
public IEnumerable <IPlayer> GetPlayers() { var playerCount = AltNative.Server.Server_GetPlayerCount(NativePointer); var pointers = new IntPtr[playerCount]; AltNative.Server.Server_GetPlayers(NativePointer, pointers, playerCount); foreach (var playerPointer in pointers) { if (playerPool.GetOrCreate(playerPointer, out var vehicle)) { yield return(vehicle); } } }
public void OnPlayerChangeVehicleSeat(IntPtr vehiclePointer, IntPtr playerPointer, byte oldSeat, byte newSeat) { if (!VehiclePool.GetOrCreate(vehiclePointer, out var vehicle)) { return; } if (!PlayerPool.GetOrCreate(playerPointer, out var player)) { return; } OnPlayerChangeVehicleSeatEvent(vehicle, player, oldSeat, newSeat); }
public bool GetOrCreate(IntPtr entityPointer, BaseObjectType baseObjectType, out IBaseObject entity) { bool result; switch (baseObjectType) { case BaseObjectType.Player: result = playerPool.GetOrCreate(entityPointer, out var player); entity = player; return(result); case BaseObjectType.Vehicle: result = vehiclePool.GetOrCreate(entityPointer, out var vehicle); entity = vehicle; return(result); case BaseObjectType.Blip: result = blipPool.GetOrCreate(entityPointer, out var blip); entity = blip; return(result); case BaseObjectType.Checkpoint: result = checkpointPool.GetOrCreate(entityPointer, out var checkpoint); entity = checkpoint; return(result); case BaseObjectType.VoiceChannel: result = voiceChannelPool.GetOrCreate(entityPointer, out var voiceChannel); entity = voiceChannel; return(result); case BaseObjectType.ColShape: result = colShapePool.GetOrCreate(entityPointer, out var colShape); entity = colShape; return(result); default: entity = default; return(false); } }
public bool GetOrCreate(ICore core, IntPtr entityPointer, BaseObjectType baseObjectType, out IEntity entity) { bool result; switch (baseObjectType) { case BaseObjectType.Player: var player = playerPool.GetOrCreate(core, entityPointer); entity = player; return(player != null); case BaseObjectType.Vehicle: var vehicle = vehiclePool.GetOrCreate(core, entityPointer); entity = vehicle; return(vehicle != null); default: entity = default; return(false); } }
public bool GetOrCreate(IntPtr entityPointer, BaseObjectType baseObjectType, out IEntity entity) { bool result; switch (baseObjectType) { case BaseObjectType.Player: result = playerPool.GetOrCreate(entityPointer, out var player); entity = player; return(result); case BaseObjectType.Vehicle: result = vehiclePool.GetOrCreate(entityPointer, out var vehicle); entity = vehicle; return(result); default: entity = default; return(false); } }
public IEnumerable <IVehicle> GetVehicles() { var vehiclePointerArray = VehiclePointerArray.Nil; AltNative.Server.Server_GetVehicles(NativePointer, ref vehiclePointerArray); var vehiclePointers = vehiclePointerArray.ToArrayAndFree(); foreach (var vehiclePointer in vehiclePointers) { if (vehiclePool.GetOrCreate(vehiclePointer, out var vehicle)) { yield return(vehicle); } } }
public IEnumerable <IPlayer> GetPlayers() { var playerPointerArray = PlayerPointerArray.Nil; AltNative.Server.Server_GetPlayers(NativePointer, ref playerPointerArray); var playerPointers = playerPointerArray.ToArrayAndFree(); foreach (var playerPointer in playerPointers) { if (playerPool.GetOrCreate(playerPointer, out var vehicle)) { yield return(vehicle); } } }