Beispiel #1
0
    /// <summary>
    /// The server receives a message from its clients (possibly from itself). This function sends the message to all clients (except the sender).
    /// </summary>
    /// <param name="networkMsg">Network message.</param>
    private void OnServerHandleMessage(NetworkMessage networkMsg)
    {
        //ConsoleManager.LogMessage ("[SERVER] Received message from " + networkMsg.conn.address + " with message: " + networkMsg.ReadMessage<ARMessage> ().position);

        ARNetworkMessage arMessage = networkMsg.ReadMessage <ARNetworkMessage> ();

        for (int i = 0; i < NetworkServer.connections.Count; i++)
        {
            NetworkConnection connection = NetworkServer.connections [i];

            if (connection != null && connection != networkMsg.conn)
            {
                connection.Send(ARNetworkMessage.messageType, arMessage);
                ConsoleManager.LogMessage("[NON-LOCAL] Sending message " + arMessage + " to " + connection.address);
            }
        }

        //this.hasThrownMessage = true;

        for (int i = 0; i < NetworkServer.localConnections.Count; i++)
        {
            NetworkConnection connection = NetworkServer.localConnections [i];

            if (connection != null && connection != networkMsg.conn)
            {
                connection.Send(ARNetworkMessage.messageType, arMessage);
                //this.hasThrownMessage = true;
                ConsoleManager.LogMessage("[LOCAL] Sending message " + arMessage + " to " + connection.address);
            }
        }

        //this.hasThrownMessage = false;
    }
Beispiel #2
0
        /// <summary>
        /// The server receives a message from its clients (possibly from itself). This function sends the message to all clients (except the sender).
        /// </summary>
        /// <param name="networkMsg">Network message.</param>
        private void OnReceivedClientMessage(NetworkMessage networkMsg)
        {
            ConsoleManager.LogMessage("[SERVER] Received message from " + networkMsg.conn.address + " with message: " + networkMsg.reader.ReadMessage <ARNetworkMessage> ().position);

            ARNetworkMessage arMessage = networkMsg.ReadMessage <ARNetworkMessage> ();

            for (int i = 0; i < NetworkServer.connections.Count; i++)
            {
                NetworkConnection connection = NetworkServer.connections [i];

                if (connection != null && connection != networkMsg.conn)
                {
                    connection.Send(ARNetworkMessage.messageType, arMessage);
                }
            }

            for (int i = 0; i < NetworkServer.localConnections.Count; i++)
            {
                NetworkConnection connection = NetworkServer.connections [i];

                if (connection != null && connection != networkMsg.conn)
                {
                    connection.Send(ARNetworkMessage.messageType, arMessage);
                }
            }
        }
Beispiel #3
0
    /// <summary>
    /// Sends a spawn request to the server. The server relays this message to all clients.
    /// </summary>
    public void RequestSpawnObject()
    {
        ARNetworkMessage arMsg = new ARNetworkMessage();

        arMsg.actionType = ARNetworkMessage.ActionType.SPAWN_OBJECT;
        arMsg.position   = Vector3.zero;
        arMsg.clientID   = this.clientID;
        NetworkManager.singleton.client.Send(ARNetworkMessage.messageType, arMsg);
    }
Beispiel #4
0
    public void SendPosition(float x, float y, float z)
    {
        ARNetworkMessage arMsg = new ARNetworkMessage();

        arMsg.actionType = ARNetworkMessage.ActionType.MOVE;
        arMsg.position   = new Vector3(x, y, z);
        arMsg.clientID   = this.clientID;
        NetworkManager.singleton.client.Send(ARNetworkMessage.messageType, arMsg);
    }
Beispiel #5
0
    public void SendPosition(Vector3 position)
    {
        ARNetworkMessage arMsg = new ARNetworkMessage();

        arMsg.actionType = ARNetworkMessage.ActionType.MOVE;
        arMsg.position   = position;
        arMsg.clientID   = this.clientID;
        NetworkManager.singleton.client.Send(ARNetworkMessage.messageType, arMsg);
    }
Beispiel #6
0
    private void OnHandleClientMessage(NetworkMessage networkMsg)
    {
        ARNetworkMessage arMessage = networkMsg.ReadMessage <ARNetworkMessage> ();

        if (arMessage.actionType != ARNetworkMessage.ActionType.TEST_DATA)
        {
            ARMessageQueue.Instance.EnqueueMessage(arMessage.clientID, arMessage.actionType, arMessage.position);
            EventBroadcaster.Instance.PostEvent(EventNames.ARBluetoothEvents.ON_RECEIVED_MESSAGE);
        }
        else
        {
            ConsoleManager.LogMessage("[CLIENT] Will not enqueue message. Action type is " + arMessage.actionType);
        }
    }
Beispiel #7
0
    /// <summary>
    /// The server receives a message from its clients (possibly from itself). This function sends the message to all clients (except the sender).
    /// </summary>
    /// <param name="networkMsg">Network message.</param>
    private void OnReceivedClientMessage(NetworkMessage networkMsg)
    {
        ARNetworkMessage arMessage = networkMsg.ReadMessage <ARNetworkMessage> ();

        for (int i = 0; i < NetworkServer.connections.Count; i++)
        {
            NetworkConnection connection = NetworkServer.connections [i];

            if (connection != null && connection != networkMsg.conn)
            {
                connection.Send(ARNetworkMessage.messageType, arMessage);
            }
        }

        for (int i = 0; i < NetworkServer.localConnections.Count; i++)
        {
            NetworkConnection connection = NetworkServer.connections [i];

            if (connection != null && connection != networkMsg.conn)
            {
                connection.Send(ARNetworkMessage.messageType, arMessage);
            }
        }
    }