initial commit for chat channels

This commit is contained in:
Max-Wilhelm Bruker 2009-08-22 19:34:48 +02:00
parent 0d84de2384
commit 947cd1736c
23 changed files with 408 additions and 66 deletions

View file

@ -0,0 +1,39 @@
#include "chatchannel.h"
#include "serversocket.h"
ChatChannel::ChatChannel(const QString &_name, const QString &_description)
: name(_name), description(_description)
{
}
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()));
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);
}