diff options
author | FearlessTobi <thm.frey@gmail.com> | 2022-07-30 05:58:23 +0200 |
---|---|---|
committer | FearlessTobi <thm.frey@gmail.com> | 2022-08-15 20:25:42 +0200 |
commit | f80c7c4cd5c090b9a31f89a0eb3d86cbe928c50b (patch) | |
tree | ad359908ba2d3cd003082b39cc7217b61e5b18f6 /src/yuzu/multiplayer/chat_room.cpp | |
parent | 035ca99b023ee776bc13c79f96a5c6b1bc049739 (diff) |
core, network: Add ability to proxy socket packets
Diffstat (limited to 'src/yuzu/multiplayer/chat_room.cpp')
-rw-r--r-- | src/yuzu/multiplayer/chat_room.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/yuzu/multiplayer/chat_room.cpp b/src/yuzu/multiplayer/chat_room.cpp index 5837b36ab..1968a3c75 100644 --- a/src/yuzu/multiplayer/chat_room.cpp +++ b/src/yuzu/multiplayer/chat_room.cpp @@ -316,21 +316,19 @@ void ChatRoom::OnStatusMessageReceive(const Network::StatusMessageEntry& status_ } void ChatRoom::OnSendChat() { - if (auto room = room_network->GetRoomMember().lock()) { - if (room->GetState() != Network::RoomMember::State::Joined && - room->GetState() != Network::RoomMember::State::Moderator) { - + if (auto room_member = room_network->GetRoomMember().lock()) { + if (!room_member->IsConnected()) { return; } auto message = ui->chat_message->text().toStdString(); if (!ValidateMessage(message)) { return; } - auto nick = room->GetNickname(); - auto username = room->GetUsername(); + auto nick = room_member->GetNickname(); + auto username = room_member->GetUsername(); Network::ChatEntry chat{nick, username, message}; - auto members = room->GetMemberInformation(); + auto members = room_member->GetMemberInformation(); auto it = std::find_if(members.begin(), members.end(), [&chat](const Network::RoomMember::MemberInformation& member) { return member.nickname == chat.nickname && @@ -341,7 +339,7 @@ void ChatRoom::OnSendChat() { } auto player = std::distance(members.begin(), it); ChatMessage m(chat, *room_network); - room->SendChatMessage(message); + room_member->SendChatMessage(message); AppendChatMessage(m.GetPlayerChatMessage(player)); ui->chat_message->clear(); } |