Exemplo n.º 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);
        }
    }
Exemplo n.º 2
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);
            }
        }
    }
Exemplo n.º 3
0
    void HandleDataMessage(int connectionId)
    {
        NetMessage message = NetMessageMaintainer.GetFromRecognizeByte(NetMessage.buffer[0]);

        message.DecodeAndExecute(GetClientById(connectionId));
    }