Ejemplo n.º 1
0
 override public void Start()
 {
     base.Start();
     Singleton      = this;
     networkManager = (NobleNetworkManager)NetworkManager.singleton;
     networkManager.InitClient();
 }
Ejemplo n.º 2
0
    /// <summary>
    /// Callback for when a match was joined.
    /// </summary>
    private void OnMatchJoined(bool success, Match match)
    {
        if (success == false)
        {
            UIManager.Instance.ShowNotification("Could not connect to match");
            joinServerTrans.gameObject.SetActive(false);
            overviewTrans.gameObject.SetActive(true);
            return;
        }

        NetworkConnector.DisconnectClient();

        //NetworkManager.singleton.StartClient(match);
        NobleNetworkManager manager = (NobleNetworkManager)NetworkManager.singleton;
        string ip   = match.matchData["ipAddress"];
        int    port = match.matchData["port"];

        manager.networkAddress = ip;
        manager.networkPort    = (ushort)port;

        Config.Instance.LastConnectedGame = LastConnectedGame.Connected(ip, port);

        manager.StartClient();

        connectingScreen.Show();
        OnConfirm();
    }
Ejemplo n.º 3
0
    public static IEnumerator RestartServerWithInternetConnection(Action onSuccess, Action onFailure)
    {
        NobleNetworkManager networkManager = (NobleNetworkManager)NetworkManager.singleton;

        networkManager.StopHost();
        while (NetworkServer.active)
        {
            yield return(null);
        }
        yield return(new WaitForSeconds(0.1f));

        if (TryStartServer(false) == false)
        {
            OnRestartFailed();
            yield break;
        }
        Debug.Log("Waiting for endpoint");
        while (((NobleNetworkManager)NetworkManager.singleton).HostEndPoint == null)
        {
            yield return(new WaitForSeconds(0.1f));
        }
        Debug.Log("Noble network established!");
        if (RAGMatchmaker.Instance.IsReady == false)
        {
            yield return(RAGMatchmaker.Instance.Reconnect());
        }
        onSuccess?.Invoke();
    }
        private void Awake()
        {
            _networkManager = (NobleNetworkManager)NetworkManager.singleton;

            if (MvNetworkManager.I.IsHost)
            {
                Clients.AsOwner[NobleServer.localConnection.connectionId] =
                    NewConnection(NobleServer.localConnection.connectionId, true, true);
            }
        }
Ejemplo n.º 5
0
    private void OnGUI()
    {
        NobleNetworkManager networkManager = (NobleNetworkManager)NetworkManager.singleton;

        if (networkManager.HostEndPoint != null)
        {
            GUI.Label(new Rect(10, 10, 150, 22), "Host IP:");
            GUI.TextField(new Rect(170, 10, 420, 22), networkManager.HostEndPoint.Address.ToString(), "Label");
            GUI.Label(new Rect(10, 37, 150, 22), "Host Port:");
            GUI.TextField(new Rect(170, 37, 160, 22), networkManager.HostEndPoint.Port.ToString(), "Label");
        }
    }
Ejemplo n.º 6
0
        private void Awake()
        {
            _networkManager = (NobleNetworkManager)NetworkManager.singleton;

            LocalConnection = MvNetworkManager.I.IsHost
                ? NewConnection(NobleServer.localConnection.connectionId, true, true)
                : NewConnection(-1, true, false);

            Connections.AsOwner[LocalConnection.Id] = LocalConnection;

            _networkManager.client?.RegisterHandler <ClientConnectedMessage>(OnClientConnectedMessage);
            _networkManager.client?.RegisterHandler <ClientDisconnectedMessage>(OnClientDisconnectedMessage);
        }
Ejemplo n.º 7
0
    public static IEnumerator TryConnectToServer(string networkAdress, ushort port, Action onSuccess = null, Action onFailure = null)
    {
        NobleNetworkManager networkManager = (NobleNetworkManager)NetworkManager.singleton;

        networkManager.StopHost();

        yield return(new WaitForSeconds(1.0f));

        try
        {
            networkManager.InitClient();

            networkManager.networkAddress = networkAdress;
            networkManager.networkPort    = port;

            networkManager.StartClient();
        }
        catch (Exception)
        {
            TryConnectToServerFailed(onFailure);
            yield break;
        }

        yield return(new WaitForSeconds(1.0f));

        float time = 0.0f;

        while (networkManager.isNetworkActive)
        {
            if (networkManager.client == null)
            {
                TryConnectToServerFailed(onFailure);
                yield break;
            }

            if (networkManager.client.isConnected)
            {
                onSuccess?.Invoke();
                yield break;
            }

            time += Time.deltaTime;
            if (time > 5.0f)
            {
                TryConnectToServerFailed(onFailure);
                yield break;
            }

            yield return(null);
        }
    }
Ejemplo n.º 8
0
    private void OnReconnectButtonPressed()
    {
        LastConnectedGame lcg = Config.Instance.LastConnectedGame;

        if (lcg == null)
        {
            return;
        }

        NetworkConnector.DisconnectClient();

        NobleNetworkManager manager = (NobleNetworkManager)NetworkManager.singleton;

        manager.networkAddress = lcg.lastConnectedIP;
        manager.networkPort    = (ushort)lcg.lastConnectedPort;

        manager.StartClient();

        connectingScreen.Show();
        OnConfirm();
    }
Ejemplo n.º 9
0
    /// <summary>
    /// Tries to start a server.
    /// </summary>
    /// <param name="lanOnly">Wheter the server should be lan only.</param>
    public static bool TryStartServer(bool lanOnly)
    {
        NobleNetworkManager networkManager = (NobleNetworkManager)NetworkManager.singleton;

        // Try to start server. If the port is already in use, catch the error and try a different one.
        int startPort = networkManager.networkPort;

        for (int i = 0; i < 5; i++)
        {
            try
            {
                networkManager.networkPort = startPort + i;

                if (lanOnly)
                {
                    networkManager.StartHostLANOnly();
                }
                else
                {
                    networkManager.StartHost();
                }

                return(true);
            }
            catch (SocketException se)
            {
                if (se.SocketErrorCode == SocketError.AddressAlreadyInUse)
                {
                    continue;
                }

                // unknown error
                Debug.LogException(se);
            }
        }

        return(false);
    }
Ejemplo n.º 10
0
 private void Start()
 {
     _networkManager = (NobleNetworkManager)NetworkManager.singleton;
 }
Ejemplo n.º 11
0
 // Get a reference to the NetworkManager
 public void Start()
 {
     // Cast from Unity's NetworkManager to a NobleNetworkManager.
     networkManager = (NobleNetworkManager)NetworkManager.singleton;
 }