private void HandlePlayerDisconnect(Player player, Elements.Events.PlayerQuitEventArgs e) { foreach (var ped in player.SyncingPeds.ToArray()) { StopSyncingPed(ped); } player.Disconnected -= HandlePlayerDisconnect; }
private void HandlePlayerDisconnect(Player player, Elements.Events.PlayerQuitEventArgs e) { foreach (var vehicle in player.SyncingVehicles.ToArray()) { StopSyncingVehicle(vehicle); } player.Disconnected -= HandlePlayerDisconnect; player.DimensionChanged -= HandlePlayerDimensionChange; }
private void OnPlayerDisconnect(object?sender, Elements.Events.PlayerQuitEventArgs e) { var player = sender as Player; this.logger.LogInformation($"{player!.Name} ({player.Client.Version}) ({player.Client.Serial}) has left the server!"); var packet = new PlayerQuitPacket(player.Id, (byte)e.Reason); var otherPlayers = this.elementCollection .GetByType <Player>(ElementType.Player) .Where(p => p != player); packet.SendTo(otherPlayers); }