public void ReceiveMessage(TextMessage textTextMessage) { switch (textTextMessage.Type) { case MessageType.TextMessage: TextMessageIncomeEvent?.Invoke(textTextMessage); break; case MessageType.ConnectMessage: if (textTextMessage.SenderNick != Nick) { UserConnectedEvent?.Invoke(textTextMessage.SenderNick); _chatChannel.SendMessage(textTextMessage.SenderNick, new TextMessage() { SenderNick = Nick, Type = MessageType.LoadMessage }); } break; case MessageType.LoadMessage: UserConnectedEvent?.Invoke(textTextMessage.SenderNick); break; case MessageType.DisconnectMessage: if (textTextMessage.SenderNick != Nick) { UserDisconnectedEvent?.Invoke(textTextMessage.SenderNick); } break; case MessageType.PlayerStartedMessage: if (textTextMessage.SenderNick != Nick) { PlayerStartedEvent?.Invoke(textTextMessage.SenderNick); } break; case MessageType.PlayerFinishedMessage: if (textTextMessage.SenderNick != Nick) { PlayerFinishedEvent?.Invoke(textTextMessage.SenderNick); } break; } }