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; } }
public void UserLeave(Person person) { ProxyCallbackEventArgs args = new ProxyCallbackEventArgs { CallbackType = CallbackType.UserLeave, Person = person }; ChatCallbackEvent?.Invoke(this, args); }
public void ReceiveWhisper(Person sender, string message) { ProxyCallbackEventArgs args = new ProxyCallbackEventArgs { CallbackType = CallbackType.ReceiveWhisper, Person = sender, Message = message }; ChatCallbackEvent?.Invoke(this, args); }
public void DisconnectByTimeout() { ProxyCallbackEventArgs args = new ProxyCallbackEventArgs { CallbackType = CallbackType.DisconnectByTimeout }; ChatCallbackEvent?.Invoke(this, args); }
private void ProcessCallback(Person person, CallbackType type, string message = "") { var args = new ProxyCallbackEventArgs { Person = person, CallbackType = type, Message = message }; OnChatCallbackEvent(args); }
/// <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; } }
private void OnChatCallbackEvent(ProxyCallbackEventArgs args) { ChatCallbackEvent?.Invoke(this, args); }