Esempio n. 1
0
        void commClient_ChatMessageReceived(ChatMessage cm)
        {
            String alias;
            if (players.TryGetValue(cm.Owner, out alias))
                cm.OwnerAlias = alias;

            CallChatMessageReceived(cm);
        }
Esempio n. 2
0
        void commServer_ChatMessageReceived(ChatMessage cm)
        {
            String alias;
            if (players.TryGetValue(cm.Owner, out alias))
                cm.OwnerAlias = alias;

            ProcessChatMessage(cm);
        }
Esempio n. 3
0
 // CLIENT
 private void CallChatMessageReceived(ChatMessage cm)
 {
     if (ChatMessageReceived == null)
         return;
     ChatMessageReceived(cm);
 }
Esempio n. 4
0
 public void SendChatPacket(ChatMessage msg)
 {
     if (isClient)
     {
         if (commClient != null)
             commClient.SendChatPacket(msg.Message, MyClientID);
     }
     else
     {
         if (commServer != null)
             commServer.BroadcastChatMessage(msg.Message, msg.Owner);
     }
 }
Esempio n. 5
0
 // COMMON
 public virtual void ProcessChatMessage(ChatMessage cm)
 {
 }
Esempio n. 6
0
 public void ReceiveMessage(ChatMessage cm)
 {
     //ChatMessage message = new ChatMessage();
     cm.MessageColor = Color.Black;
     //message.Message = msg;
     //message.Owner = owner;
     cm.Time = DateTime.Now;
     ChatLog.Add(cm.Time.Ticks, cm);
 }
Esempio n. 7
0
        public bool KeysPressed(List<Keys> pressed, out ChatMessage message)
        {
            message = null;
            bool exitMode = false;
            bool shift = pressed.Contains(Keys.LeftShift) || pressed.Contains(Keys.RightShift);
            foreach (Keys k in pressed)
            {
                if (k == Keys.Left)
                {
                    if (currentPosition > 0)
                        currentPosition--;
                }
                else if (k == Keys.Home)
                    currentPosition = 0;
                else if (k == Keys.Right)
                {
                    if (currentPosition < currentMessage.Length)
                        currentPosition++;
                }
                else if (k == Keys.End)
                    currentPosition = currentMessage.Length;
                else if (k == Keys.Enter)
                {
                    exitMode = true;
                    message = new ChatMessage(currentMessage, -1); // TODO: Owner is set elsewhere
                    message.Time = DateTime.Now;
                    message.Message = currentMessage;
                    message.MessageColor = Color.DarkBlue;

                    currentMessage = "";
                    currentPosition = 0;
                    // Add Message to list and send a packet about it
                    // let server add it for us
                    //ChatLog.Add(message.Time.Ticks, message);
                }
                else if (k == Keys.Escape)
                {
                    exitMode = true;
                    currentPosition = 0;
                    currentMessage = "";
                } // TODO, Backspace, Delete
                else if (k == Keys.Back)
                {
                    if (currentPosition > 0)
                    {
                        currentMessage = currentMessage.Remove(currentPosition - 1, 1);
                        currentPosition--;
                    }
                }
                else if (k == Keys.Delete)
                {
                    if (currentPosition < currentMessage.Length)
                    {
                        currentMessage = currentMessage.Remove(currentPosition, 1);
                    }
                }
                else if (k == Keys.LeftShift || k == Keys.RightShift
                    || k == Keys.LeftControl || k == Keys.RightControl
                    || k == Keys.LeftAlt || k == Keys.RightAlt)
                {
                    // Special characters handled elsewhere or not at all
                }
                else
                {
                    ProcessText(k, shift);
                    //currentMessage = currentMessage.Insert(currentPosition, KeyToText(k));
                    //currentPosition += k.ToString().Length;
                }
            }
            return exitMode;
        }