diff --git a/unity/Assets/Scripts/Client.cs b/unity/Assets/Scripts/Client.cs index 2d64de7..e2be80a 100644 --- a/unity/Assets/Scripts/Client.cs +++ b/unity/Assets/Scripts/Client.cs @@ -32,6 +32,10 @@ public class Client : MonoBehaviour { } } + void OnApplicationQuit() { + CloseConnection(); + } + public class NetEventManager { private Dictionary> returnNameHandlers = new Dictionary>(); private Dictionary> returnConnectHandlers = new Dictionary>(); @@ -352,8 +356,7 @@ public class Client : MonoBehaviour { } public void Close() { - // connection.disconnect(new Google.Protobuf.WellKnownTypes.Empty(), new Metadata { new Metadata.Entry("client_id", connId) }); - // channel.ShutdownAsync().Wait(); + conn.SendMessage(new Protocol.ClientServerPacket() {Disconnect = new Empty()}); } } diff --git a/unity/Assets/Scripts/MainMenuController.cs b/unity/Assets/Scripts/MainMenuController.cs index 06e96d9..66ff351 100644 --- a/unity/Assets/Scripts/MainMenuController.cs +++ b/unity/Assets/Scripts/MainMenuController.cs @@ -182,7 +182,6 @@ public class MainMenuController : MonoBehaviour { if (conn != null) { var lobby = conn.GetLobby(); if (lobby == null) { - conn.CreateLobby(true); conn.eventManager.AddHandler("ui_create_lobby", (Connection.LobbyCode lobby1) => { Debug.Log("Lobby created"); lobby = Base32.ToString(lobby1.Code); @@ -193,6 +192,7 @@ public class MainMenuController : MonoBehaviour { ReloadMenu(); conn.eventManager.RemoveHandler(Protocol.ServerClientPacket.DataOneofCase.ReturnCreateLobby, "ui_create_lobby"); }); + conn.CreateLobby(true); } } }