public void PostServer(NetworkServers.Server server, System.Action addHostAsClient)
    {
        GetNetworkServers((NetworkServers) =>
        {
            bool serverAlreadyExists = false;
            // If the server already exists, then we exit
            foreach (NetworkServers.Server serverInNetworkData in NetworkServers.Servers)
            {
                if (serverInNetworkData.HostIP == server.HostIP)
                {
                    serverAlreadyExists = true;
                    serverInNetworkData.Users.Clear();
                    // We update the last connection time of the server
                    serverInNetworkData.timestamp = DateTime.UtcNow.ToBinary();
                    break;
                }
            }

            if (!serverAlreadyExists)
            {
                NetworkServers.Servers.Add(server);
            }

            PostNetworkData(NetworkServers, () =>
            {
                Debug.Log("-----------Server added in the database-----------");
                addHostAsClient();
            });
        });
    }
示例#2
0
    private void AddHostIPEntry()
    {
        if (_connectionType != ConnectionType.PublicHost)
        {
            return;
        }

        Debug.Log("-----------Adding host IP entry-----------");

        // Making a server
        NetworkServers.Server server = new NetworkServers.Server();
        server.HostIP = LocalIP;

        _networkUtils.PostServer(server, () => {
            NetworkServers.UserConnection user = new NetworkServers.UserConnection();
            user.connectionId = GameManager.Instance.LocalPlayer.connectionToServer.connectionId;

            _networkUtils.AddClientToServer(LocalIP, user);
        });
    }