Ejemplo n.º 1
0
    private void HandleServerDisconnected(PrimeNetMessage message)
    {
        Debug.Log("Disconn server");
        Debug.Log(message.SenderIP);
        Debug.Log(message.MessageBody);

        _DisplayText.text = "Server disconnected, retrying....";

        UpdateGui(message);
    }
Ejemplo n.º 2
0
    public void Message(EPrimeNetMessage messageCode, string body = "")
    {
        var message = new PrimeNetMessage()
        {
            NetMessage  = messageCode,
            MessageBody = body
        };

        _networkService.Broadcast(message);
    }
Ejemplo n.º 3
0
    public void ToClient_OnClick()
    {
        Debug.Log("To Client");
        if (string.IsNullOrEmpty(_MyMessage.text))
        {
            return;
        }

        var message = new PrimeNetMessage
        {
            MessageBody = _MyMessage.text,
            NetMessage  = EPrimeNetMessage.Generic
        };

        _NetService?.Broadcast(message);
    }
Ejemplo n.º 4
0
    private void HandleServerConnected(PrimeNetMessage message)
    {
        _DisplayText.text = "Server connected, you can send message";

        var button =
            GameObject.Find("ToClient").GetComponent <Button>();

        Debug.Log("Found To client button? " + button);

        if (button != null)
        {
            button.enabled = false;
        }


        UpdateGui(message);
    }
Ejemplo n.º 5
0
    private void HandleClientDisconnected(PrimeNetMessage message)
    {
        Debug.Log("Disconn client");
        Debug.Log(message.SenderIP);
        Debug.Log(message.MessageBody);

        //if (_NetService._IsServer)
        //{
        //    _ConnectedClients.options.RemoveAll(item => item.text == message.MessageBody);
        //}
        //else
        //{
        //    _ConnectedClients.options.Add(new Dropdown.OptionData("Disconnected from remote server at " + _NetService._HostNameOrIP));
        //}

        UpdateGui(message);
    }
Ejemplo n.º 6
0
    public void ToServer_OnClick()
    {
        Debug.Log("ToServer");

        if (string.IsNullOrEmpty(_MyMessage.text))
        {
            return;
        }

        var message = new PrimeNetMessage
        {
            MessageBody = _MyMessage.text,
            NetMessage  = EPrimeNetMessage.Generic
        };

        if (_NetService == null)
        {
            Debug.Log("Net service is null");
        }
        _NetService?.Broadcast(message);
    }
Ejemplo n.º 7
0
    private void HandleClientConnected(PrimeNetMessage message)
    {
        //if (_NetService._IsServer)
        //{
        //    _ConnectedClients.options.Add(new Dropdown.OptionData(message.MessageBody));

        //    // adding a new client
        //    var id = int.Parse(message.MessageBody);
        //    var client =
        //        _NetService.GetClients().Find(a => a.ClientNumber == id);

        //    Debug.Log("Found a client " + client);
        //    Debug.Log("IP " + client.GetRemoteIPAddress());


        //    if (!_guiConnectedClients.ContainsKey(client.ClientNumber))
        //    {
        //        var name = "NetButtonClient" + client.ClientNumber;
        //        var button = _connectionList.Find(b => b.name == name);

        //        if (button != null)
        //        {
        //            _guiConnectedClients.Add(client.ClientNumber, button);
        //            var theText = button.GetComponentInChildren<Text>();
        //            theText.text = string.Format("Client - {0}", client.GetRemoteIPAddress());

        //            button.GetComponent<Image>().color = ColorConnect;
        //        }
        //    }
        //}
        //else
        //{
        //    _ConnectedClients.options.Add(new Dropdown.OptionData("Connected to remote server at " + _NetService._HostNameOrIP));
        //}

        UpdateGui(message);
    }
Ejemplo n.º 8
0
    private void HandleServerListening(PrimeNetMessage message)
    {
        var button =
            GameObject.Find("ToServer").GetComponent <Button>();

        Debug.Log("Found button? " + button);

        if (button != null)
        {
            button.enabled = false;
        }

        //var btnServer =
        //    _connectionList.Find(b => b.name.Contains("Server"));

        //Debug.Log("is there btn " + btnServer);

        //var inputText =
        //    btnServer.GetComponentInChildren<Text>();

        //inputText.text = message.SenderIP;

        UpdateGui(message);
    }
Ejemplo n.º 9
0
    private void UpdateGui(PrimeNetMessage message)
    {
        Color currentColor = Color.red;

        var status = false;

        switch (message.NetMessage)
        {
        case EPrimeNetMessage.ClientConnected:
            currentColor = Color.green;
            status       = true;
            break;

        case EPrimeNetMessage.ClientDisconnected:
            currentColor = Color.green;
            status       = true;
            break;

        case EPrimeNetMessage.ServerConnected:
            currentColor = Color.green;
            _guiConnectedClients[ServerBtnPosIndex].GetComponent <Image>().color = currentColor;
            status = true;
            break;

        case EPrimeNetMessage.ServerDisconnected:
            currentColor = Color.red;
            _guiConnectedClients[ServerBtnPosIndex].GetComponent <Image>().color = currentColor;
            status = true;
            break;

        case EPrimeNetMessage.ServerListening:
            currentColor = Color.green;
            break;
        }

        if (status)
        {
            Debug.Log(message.NetMessage);

            var id     = int.Parse(message.MessageBody); // message contains the client number
            var client = _NetService.GetClients().Find(a => a.ClientNumber == id);

            if (_NetService._IsServer)
            {
                _ConnectedClients.options.Add(new Dropdown.OptionData(message.MessageBody));

                Debug.Log("Found a client " + client);
                Debug.Log("IP " + client.GetRemoteIPAddress());

                if (!_guiConnectedClients.ContainsKey(client.ClientNumber))
                {
                    var name   = "NetButtonClient" + client.ClientNumber;
                    var button = _connectionList.Find(b => b.name == name);

                    if (button != null)
                    {
                        _guiConnectedClients.Add(client.ClientNumber, button);
                        var theText = button.GetComponentInChildren <Text>();
                        theText.text = string.Format("Client - {0}", client.GetRemoteIPAddress());

                        button.GetComponent <Image>().color = currentColor;
                    }
                }
            }
            else // if client
            {
                _ConnectedClients.options.Add(new Dropdown.OptionData("Connected to remote server at " + _NetService._HostNameOrIP));

                switch (message.NetMessage)
                {
                case EPrimeNetMessage.ServerConnected:
                {
                    var serverButton = _guiConnectedClients[0];

                    serverButton.GetComponent <Image>().color         = Color.green;
                    serverButton.GetComponentInChildren <Text>().text = "Server: " + message.SenderIP;
                }
                break;

                case EPrimeNetMessage.ServerDisconnected:
                {
                    var serverButton = _guiConnectedClients[0];

                    serverButton.GetComponent <Image>().color         = Color.red;
                    serverButton.GetComponentInChildren <Text>().text = "Server: " + message.SenderIP;
                }
                break;
                }
            }
        }
    }