Exemplo n.º 1
0
        private static void AddMessageToRecent(BroadcastMessage message, byte channelID)
        {
            var messages = _recentMessages.First(x => x.Key == channelID).Value;

            if (messages.Count == 10)
                messages.RemoveAt(0);

            messages.Add(message);
        }
Exemplo n.º 2
0
        private static void HandleClientMessagePacket(Client client, ClientMessage packet)
        {
            client.Value.AddPoints(5); //AWARD 5 POINTS FOR ACTIVITY***

            BroadcastMessage message = new BroadcastMessage(packet.Message, client.Value.Username, client.Value.ID);
            foreach (Client c in _server.Clients)
            {
                if (c != client && c.Value.Channel == client.Value.Channel)
                {
                    message.Execute(c);
                }
            }
            AddMessageToRecent(message, client.Value.Channel);
        }
Exemplo n.º 3
0
        internal void HandleBroadcastMessage(BroadcastMessage message)
        {
            if (InvokeRequired)
            {
                Invoke(new MethodInvoker(() => HandleBroadcastMessage(message)));
                return;
            }

            UserInfo user = Users.Find(x => x.Name.ToLower() == message.Username.ToLower());

            Color nameColor;
            Color textColor = user.Name.ToLower() == Username.ToLower() ? Color.DimGray : Color.Black;

            if (user == null)
                nameColor = Color.Blue;
            else if (user.Name.ToLower() == Username.ToLower())
                nameColor = Color.ForestGreen;
            else
                nameColor = GetRankColor(user.Rank);

            AppendChat(nameColor, textColor, message.Username, message.Text, message.Time.ToLocalTime());

            if (Options.ChatNotifications && !IsForegroundWindow)
            {
                NativeMethods.FlashWindow(this.Handle, true);
                notifyIcon.ShowBalloonTip(100, user.Name, message.Text, ToolTipIcon.Info);

                if (Options.AudioNotification)
                    AudioPlayer.Play();
            }
        }