private void HandleDisconnected(NetIncomingMessage message) { string username = _connectionToUsername[message.SenderConnection]; OnPlayerDisconnected?.Invoke(username); _usernameToConnection.Remove(username); _connectionToUsername.Remove(message.SenderConnection); }
public PhotonService(IRuntimeService runtimeService) { _runtimeService = runtimeService; _photonClient = runtimeService.RegisterClient <PhotonCallbacksClient>(); _photonClient.OnPlayerConnected += p => OnPlayerConnected?.Invoke(p); _photonClient.OnPlayerDisconnected += p => OnPlayerDisconnected?.Invoke(p); Connect(); }
public void DisconnectPlayer(int disconnectedPlayer) { Debug.Log($"Player: {disconnectedPlayer} has disconnected."); PlayerManager playerManager = PlayerDictionary[disconnectedPlayer]; OnPlayerDisconnected?.Invoke(disconnectedPlayer, playerManager.GetUsername()); playerManager.Disconnect(); PlayerDictionary.Remove(disconnectedPlayer); }
protected void DisconnectHandler(NeutronPlayer player) { using (player) //* Libera os recursos não gerenciados do jogador desconectado. { if (SocketHelper.RemovePlayerFromServer(player)) { OnPlayerDisconnected?.Invoke(player); } } }
public void RemovePlayer(IPlayer player) { if (!Players.Contains(player)) { return; } Players.Remove(player); SpecList.Remove(player); if (player.Entity != null && Game.IsHost) { player.Entity.Delete(); } SetPlayerSpectateTarget(player, null); OnPlayerDisconnected?.Invoke(player); }
internal void OnServerDisconnect(NetworkConnection conn) { if (!NetworkServer.active) { return; } // Invoke OnPlayerDisconnected on all instances of MatchController OnPlayerDisconnected?.Invoke(conn); Guid matchId; if (playerMatches.TryGetValue(conn, out matchId)) { playerMatches.Remove(conn); openMatches.Remove(matchId); foreach (NetworkConnection playerConn in matchConnections[matchId]) { PlayerInfo _playerInfo = playerInfos[playerConn]; _playerInfo.ready = false; _playerInfo.matchId = Guid.Empty; playerInfos[playerConn] = _playerInfo; playerConn.Send(new ClientMatchMessage { clientMatchOperation = ClientMatchOperation.Departed }); } } foreach (KeyValuePair <Guid, HashSet <NetworkConnection> > kvp in matchConnections) { kvp.Value.Remove(conn); } PlayerInfo playerInfo = playerInfos[conn]; if (playerInfo.matchId != Guid.Empty) { MatchInfo matchInfo; if (openMatches.TryGetValue(playerInfo.matchId, out matchInfo)) { matchInfo.players--; openMatches[playerInfo.matchId] = matchInfo; } HashSet <NetworkConnection> connections; if (matchConnections.TryGetValue(playerInfo.matchId, out connections)) { PlayerInfo[] infos = connections.Select(playerConn => playerInfos[playerConn]).ToArray(); foreach (NetworkConnection playerConn in matchConnections[playerInfo.matchId]) { if (playerConn != conn) { playerConn.Send(new ClientMatchMessage { clientMatchOperation = ClientMatchOperation.UpdateRoom, playerInfos = infos }); } } } } SendMatchList(); }
// Fires the OnPlayerConnected action, takes the player as a parameter public void InvokePlayerDisconnected(GameObject player) { OnPlayerDisconnected?.Invoke(player); }
public void InvokePlayerDisconnected(ConnectedClient client) => OnPlayerDisconnected?.Invoke(client);
public override void ClientDisconnect(Client cl, NetworkDisconnectionReason reason) { base.ClientDisconnect(cl, reason); OnPlayerDisconnected?.Invoke(cl); }
internal static void RunPlayerDisconnected(SteamPlayer player) => OnPlayerDisconnected?.Invoke(UnturnedPlayer.Create(player));
private static void OnPlayerRemoved(Matchmaker.Stream stream) { OnPlayerDisconnected?.Invoke(stream); }
private void PlayerDisconnected(string player) { OnPlayerDisconnected?.Invoke(player); }
private void PlayerDisconnected(string username) { OnPlayerDisconnected?.Invoke(username); }
public override void OnPlayerLeftRoom(Player otherPlayer) { Debug.Log($"On Photon Player disconnected ID {otherPlayer.ActorNumber}"); OnPlayerDisconnected?.Invoke(CreatePlayerID(otherPlayer.ActorNumber)); }
public void PlayerDisconnected(Player player) { OnPlayerDisconnected?.Invoke(player, EventArgs.Empty); }
public override void OnPlayerLeftRoom(Player otherPlayer) { OnPlayerDisconnected?.Invoke(otherPlayer); }