public static void Disconnect(bool BuildMenu = true) { World.Close(); NetworkedMultiplayerENet EN = Self.GetTree().GetNetworkPeer() as NetworkedMultiplayerENet; if (EN != null) { EN.CloseConnection(); } Self.GetTree().SetNetworkPeer(null); PeerList.Clear(); Net.Players.Clear(); Nicknames.Clear(); Net.Players.Clear(); IsWaitingForServer = false; WaitingForServerTimer = MaxWaitForServerDelay; if (BuildMenu) { Menu.BuildMain(); } }
public void Disconnect() { MDLog.Info(LOG_CAT, "Disconnected from server"); IsSessionStarted = false; foreach (int PeerId in Players.Keys) { MDPlayerInfo Player = Players[PeerId]; OnPlayerLeftEvent(PeerId); Player.RemoveAndFree(); } NetworkedMultiplayerENet peer = GetPeer(); if (peer != null) { peer.CloseConnection(); SetNetworkPeer(null); } StopUPNP(); Players.Clear(); ClearNetworkedNodes(); OnSessionEndedEvent(); SceneBuffer.Clear(); }
public void _ConnectionFailed() { NetworkedMultiplayerENet peer = (NetworkedMultiplayerENet)GetTree().NetworkPeer; peer.CloseConnection(); GetTree().NetworkPeer = null; }
public void _ServerDisconnected() { if (ClientVariables.NetworkOptions.DMRole) { Session sessionScene = (Session)Root.GetChild(Root.GetChildCount() - 1); sessionScene.SaveSession(); } Global.GotoScene("res://GUI/MainMenu.tscn"); NetworkedMultiplayerENet peer = (NetworkedMultiplayerENet)GetTree().NetworkPeer; peer.CloseConnection(); GetTree().NetworkPeer = null; }
public override void _Notification(int notification) { switch (notification) { case NotificationExitTree: Server?.CloseConnection(); break; case NotificationEnterTree: GetTree().Connect(NodeAdded, this, nameof(OnNodeAdded)); CustomizeChildren(); break; } }
public override void _Notification(int what) { if (what == MainLoop.NotificationWmQuitRequest) { NetworkedMultiplayerENet peer = (NetworkedMultiplayerENet)GetTree().NetworkPeer; peer.CloseConnection(); GetTree().NetworkPeer = null; if (ClientVariables.NetworkOptions.DMRole) { SaveSession(); } } }
public void OnBackButtonPressed() { if (ClientVariables.NetworkOptions.DMRole) { SaveSession(); } NetworkedMultiplayerENet peer = (NetworkedMultiplayerENet)GetTree().NetworkPeer; peer.CloseConnection(); GetTree().NetworkPeer = null; Global.GotoScene("res://GUI/MainMenu.tscn"); }