Example #1
0
        private void OnChatCallbackEvent(object sender, ProxyCallbackEventArgs e)
        {
            switch (e.CallbackType)
            {
            case CallbackType.Receive:
                Receive(e.Person, e.Message);
                break;

            case CallbackType.ReceiveWhisper:
                ReceiveWisper(e.Person, e.Message);
                break;

            case CallbackType.UserEnter:
                UserEnter(e.Person);
                break;

            case CallbackType.UserLeave:
                UserLeave(e.Person);
                break;

            case CallbackType.DisconnectByTimeout:
                DisconnectByTimeout();
                break;
            }
        }
Example #2
0
        public void UserLeave(Person person)
        {
            ProxyCallbackEventArgs args = new ProxyCallbackEventArgs {
                CallbackType = CallbackType.UserLeave, Person = person
            };

            ChatCallbackEvent?.Invoke(this, args);
        }
Example #3
0
        public void ReceiveWhisper(Person sender, string message)
        {
            ProxyCallbackEventArgs args = new ProxyCallbackEventArgs {
                CallbackType = CallbackType.ReceiveWhisper, Person = sender, Message = message
            };

            ChatCallbackEvent?.Invoke(this, args);
        }
Example #4
0
        public void DisconnectByTimeout()
        {
            ProxyCallbackEventArgs args = new ProxyCallbackEventArgs {
                CallbackType = CallbackType.DisconnectByTimeout
            };

            ChatCallbackEvent?.Invoke(this, args);
        }
Example #5
0
        private void ProcessCallback(Person person, CallbackType type, string message = "")
        {
            var args = new ProxyCallbackEventArgs
            {
                Person       = person,
                CallbackType = type,
                Message      = message
            };

            OnChatCallbackEvent(args);
        }
Example #6
0
        /// <summary>
        /// Обработчик обратного вызова
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        internal void Callback_ChatCallbackEvent(object sender, ProxyCallbackEventArgs e)
        {
            switch (e.CallbackType)
            {
            case CallbackType.Receive:
                LogMessage($"{e.Person.Name}: {e.Message}");
                break;

            case CallbackType.ReceiveWhisper:

                if (e.Person == null)
                {
                    return;
                }

                LogMessage($"{e.Person.Name} шепнул: {e.Message}");
                break;

            case CallbackType.UserEnter:
                LogMessage($"{e.Person.Name} зашел в чат");
                AddPersonToPersonList(e.Person);
                break;

            case CallbackType.UserLeave:
                if (e.Person == CurrentPerson)
                {
                    return;
                }

                RemovePersonFromPersonList(e.Person);
                LogMessage($"{e.Person.Name} вышел из чата");
                break;

            case CallbackType.DisconnectByTimeout:
                LogMessage("Вы были отключены по таймауту");
                break;

            default:
                break;
            }
        }
Example #7
0
 private void OnChatCallbackEvent(ProxyCallbackEventArgs args)
 {
     ChatCallbackEvent?.Invoke(this, args);
 }