コード例 #1
0
        public override void Server_ReceiveMessage(int connectionID, ByteStream msgData, LLServer server)
        {
            int    teamNumber = msgData.PopInt32();
            string message    = msgData.PopString();

            var targetsList = new List <int>();

            foreach (var userPair in server.NetUsers)
            {
                NetUser netUser = userPair.Value;

                if (netUser.teamNumber == teamNumber && netUser.connectionID != connectionID)
                {
                    targetsList.Add(netUser.connectionID);
                }
            }

            int[] targets = targetsList.ToArray();

            var byteStream = new ByteStream();

            byteStream.Append((byte)NetMessageType.ChatTeamMessage);
            byteStream.Append(teamNumber);
            byteStream.Append(message);

            server.MulticastNetMessage(targets, server.ReliableChannel, byteStream.ToArray());
        }
コード例 #2
0
 public override void Server_ReceiveMessage(int connectionId, ByteStream data, LLServer server)
 {
     data.Append(connectionId);
     // Get all teammates
     int[] targets = server.NetUsers.Where(x => x.Value.TeamNumber == server.NetUsers[connectionId].TeamNumber)
                     .Select(x => x.Key)
                     .ToArray();
     server.MulticastNetMessage(targets, server.ReliableChannel, data.ToArray(), connectionId);
 }