mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
46 lines
1.4 KiB
C++
46 lines
1.4 KiB
C++
#include "chatchannel.h"
|
|
#include "serversocket.h"
|
|
|
|
ChatChannel::ChatChannel(const QString &_name, const QString &_description, bool _autoJoin, const QStringList &_joinMessage)
|
|
: name(_name), description(_description), autoJoin(_autoJoin), joinMessage(_joinMessage)
|
|
{
|
|
}
|
|
|
|
void ChatChannel::addPlayer(ServerSocket *player)
|
|
{
|
|
QString str = QString("chat|join_channel|%1|%2").arg(name).arg(player->getPlayerName());
|
|
for (int i = 0; i < size(); ++i)
|
|
at(i)->msg(str);
|
|
|
|
append(player);
|
|
|
|
for (int i = 0; i < size(); ++i)
|
|
player->msg(QString("chat|list_players|%1|%2").arg(name).arg(at(i)->getPlayerName()));
|
|
for (int i = 0; i < joinMessage.size(); ++i)
|
|
player->msg(QString("chat|server_message|%1|%2").arg(name).arg(joinMessage[i]));
|
|
|
|
emit channelInfoChanged();
|
|
}
|
|
|
|
void ChatChannel::removePlayer(ServerSocket *player)
|
|
{
|
|
QString str = QString("chat|leave_channel|%1|%2").arg(name).arg(player->getPlayerName());
|
|
|
|
removeAt(indexOf(player));
|
|
for (int i = 0; i < size(); ++i)
|
|
at(i)->msg(str);
|
|
|
|
emit channelInfoChanged();
|
|
}
|
|
|
|
void ChatChannel::say(ServerSocket *player, const QString &s)
|
|
{
|
|
QString str = QString("chat|say|%1|%2|%3").arg(name).arg(player->getPlayerName()).arg(s);
|
|
for (int i = 0; i < size(); ++i)
|
|
at(i)->msg(str);
|
|
}
|
|
|
|
QString ChatChannel::getChannelListLine() const
|
|
{
|
|
return QString("chat|list_channels|%1|%2|%3|%4").arg(name).arg(description).arg(size()).arg(autoJoin ? 1 : 0);
|
|
}
|