void Chat::removeUserFromAllChannels(const Player& player) { for (auto& it : normalChannels) { it.second.removeUser(player); } for (auto& it : partyChannels) { it.second.removeUser(player); } for (auto& it : guildChannels) { it.second.removeUser(player); } auto it = privateChannels.begin(); while (it != privateChannels.end()) { PrivateChatChannel* channel = &it->second; channel->removeInvite(player.getGUID()); channel->removeUser(player); if (channel->getOwner() == player.getGUID()) { channel->closeChannel(); it = privateChannels.erase(it); } else { ++it; } } }
void Chat::removeUserFromAllChannels(const Player& player) { for (auto& it : normalChannels) { it.second.removeUser(player); } for (const auto& it : partyChannels) { it.second->removeUser(player); } for (const auto& it : guildChannels) { it.second->removeUser(player); } for (const auto& it : privateChannels) { PrivateChatChannel* channel = it.second; channel->removeInvite(player.getGUID()); channel->removeUser(player); if (channel->getOwner() == player.getGUID()) { deleteChannel(player, channel->id); } } }