Beispiel #1
0
 private void shut_down_services()
 {
     if (base_service != null)
     {
         base_service.Dispose();
         base_service = null;
     }
     if (login_client != null)
     {
         login_client.Dispose();
         login_client = null;
     }
     SceneManager.LoadScene("Login");
 }
Beispiel #2
0
    public void EstablishConnection(LoginClientLL login_service, RepeatedField <LoginServices.Server> servers)
    {
        Debug.Assert(servers.Count > 0);
        Debug.Assert(base_service == null, "A base service operation is already taking place...");
        Debug.Assert(login_service == null, "Internal error. login service and base service always has to be in sync...");

        login_service.OnDisconnected       += on_login_client_disconnected;
        login_service.OnServerDisconnected += on_main_server_caused_disconnection;

        var selected_server_idx = MainThread <System.Random> .Get().Next(0, servers.Count - 1);

        selected_server                        = servers[selected_server_idx];
        base_service                           = new BaseClientLL(new Channel(selected_server.Url, ChannelCredentials.Insecure)); //TODO: SSL, Compression
        base_service.OnDisconnected           += on_base_server_disconnected;
        base_service.OnSuccessfulSubscription += on_successful_subscription;
        base_service.ConnectAsync();
    }