예제 #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);
        }
    }