Пример #1
0
    public void SendServerMessageToGroup(NetMessage message, ConnectionGroup group)
    {
        int  messageLength = message.Encode();
        byte error;

        // Send it out
        foreach (ClientData client in clients)
        {
            if (group == ConnectionGroup.lobby && client.inGame)
            {
                continue;
            }
            if (group == ConnectionGroup.game && !client.inGame)
            {
                continue;
            }

            if (client.connectionID == -1)
            {
                if (message.AlsoExecuteOnServer())
                {
                    message.DecodeAndExecute(client);
                }
            }

            NetworkTransport.Send(hostID, client.connectionID, channelID, NetMessage.buffer, messageLength, out error);
        }
    }
Пример #2
0
    public void SendServerMessageToOne(NetMessage message, int connectionID)
    {
        int messageLength = message.Encode();

        List <int> list = new List <int>();

        list.Add(connectionID);
        byte error;

        NetworkTransport.Send(hostID, connectionID, channelID, NetMessage.buffer, messageLength, out error);
    }
Пример #3
0
        /// <summary>
        ///     Sends the specified message.
        /// </summary>
        internal static void Send(NetSocket destinationSocket, NetMessage message, byte[] sessionId = null)
        {
            if (destinationSocket == null)
            {
                throw new ArgumentNullException("destinationSocket");
            }

            message.SetServiceNodeType(ServiceCore.ServiceNodeType);
            message.SetServiceNodeId(ServiceCore.ServiceNodeId);
            message.SetSessionId(sessionId);
            message.Encode();

            NetMessaging._messageHandler.Send(destinationSocket, new NetPacket(message));
        }
Пример #4
0
    public void SendClientMessage(NetMessage message)
    {
        int messageLength = message.Encode();

        if (isServer)
        {
            message.DecodeAndExecute(GetThisServerClient());
        }
        else
        {
            byte error;
            NetworkTransport.Send(hostID, serverConnectionID, channelID, NetMessage.buffer, messageLength, out error);
            if (error != 0)
            {
                SceneManager.LoadScene(0);
            }
        }
    }