コード例 #1
0
        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;
            }
        }