void Chat::removeUserFromAllChannels(Player* player) { ChannelList list = getChannelList(player); while (!list.empty()) { ChatChannel* channel = list.front(); list.pop_front(); channel->removeUser(player); if (channel->getOwner() == player->getGUID()) { deleteChannel(player, channel->getId()); } } for (NormalChannelMap::iterator it = m_normalChannels.begin(); it != m_normalChannels.end(); ++it) { it->second->removeUser(player); } for (GuildChannelMap::iterator it = m_guildChannels.begin(); it != m_guildChannels.end(); ++it) { it->second->removeUser(player); } }
bool Chat::removeUserFromChannel(Player* player, uint16_t channelId) { ChatChannel* channel = getChannel(player, channelId); if(!channel || !channel->removeUser(player)) return false; if(channel->getOwner() == player->getGUID()) deleteChannel(player, channelId); return true; }
bool Chat::removeUserFromChannel(const Player& player, uint16_t channelId) { ChatChannel* channel = getChannel(player, channelId); if (!channel || !channel->removeUser(player)) { return false; } if (channel->getOwner() == player.getGUID()) { deleteChannel(player, channelId); } return true; }
void Chat::removeUserFromAllChannels(Player* player) { ChannelList list = getChannelList(player); while(list.size()){ ChatChannel *channel = list.front(); list.pop_front(); channel->removeUser(player); if(channel->getOwner() == player->getGUID()) deleteChannel(player, channel->getId()); } }
bool Chat::removeUserFromChannel(Player* player, const uint16_t& channelId) { ChatChannel* channel = getChannel(player, channelId); if (!channel) { return false; } if (channel->removeUser(player)) { if (channel->getOwner() == player->getGUID()) { deleteChannel(player, channelId); } return true; } else { return false; } }