Commit 4b84168b authored by Max-Wilhelm Bruker's avatar Max-Wilhelm Bruker
Browse files

client/server version bump; eventConnectionStateChanged

parent d892d320
......@@ -9,7 +9,7 @@ extern CardDatabase *db;
extern QTranslator *translator;
const QString translationPrefix = "cockatrice";
const QString versionString = "0.20110303";
const QString versionString = "0.20110625";
void installNewTranslator();
......
......@@ -117,6 +117,14 @@ void MessageLogWidget::logGameStart()
append(tr("The game has started."));
}
void MessageLogWidget::logConnectionStateChanged(Player *player, bool connectionState)
{
if (connectionState)
append(tr("%1 has restored connection to the game.").arg(sanitizeHtml(player->getName())));
else
append(tr("%1 has lost connection to the game.").arg(sanitizeHtml(player->getName())));
}
void MessageLogWidget::logSay(Player *player, QString message)
{
append(QString("<b><font color=\"") + (player->getLocal() ? "red" : "#0000fe") + QString("\">%1:</font></b> %2").arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(message)));
......@@ -499,6 +507,7 @@ void MessageLogWidget::containerProcessingDone()
void MessageLogWidget::connectToPlayer(Player *player)
{
connect(player, SIGNAL(logConnectionStateChanged(Player *, bool)), this, SLOT(logConnectionStateChanged(Player *, bool)));
connect(player, SIGNAL(logSay(Player *, QString)), this, SLOT(logSay(Player *, QString)));
connect(player, SIGNAL(logShuffle(Player *, CardZone *)), this, SLOT(logShuffle(Player *, CardZone *)));
connect(player, SIGNAL(logRollDie(Player *, int, int)), this, SLOT(logRollDie(Player *, int, int)));
......
......@@ -65,6 +65,7 @@ public slots:
void logNotReadyStart(Player *player);
void logConcede(Player *player);
void logGameStart();
void logConnectionStateChanged(Player *player, bool connectionState);
void logSay(Player *player, QString message);
void logSpectatorSay(QString spectatorName, QString message);
void logShuffle(Player *player, CardZone *zone);
......
......@@ -706,6 +706,11 @@ void Player::setCardAttrHelper(GameEventContext *context, CardItem *card, const
}
}
void Player::eventConnectionStateChanged(Event_ConnectionStateChanged *event)
{
emit logConnectionStateChanged(this, event->getConnected());
}
void Player::eventSay(Event_Say *event)
{
emit logSay(this, event->getMessage());
......@@ -1036,6 +1041,7 @@ void Player::processGameEvent(GameEvent *event, GameEventContext *context)
{
qDebug() << "player event: id=" << event->getItemId();
switch (event->getItemId()) {
case ItemId_Event_ConnectionStateChanged: eventConnectionStateChanged(static_cast<Event_ConnectionStateChanged *>(event)); break;
case ItemId_Event_Say: eventSay(static_cast<Event_Say *>(event)); break;
case ItemId_Event_Shuffle: eventShuffle(static_cast<Event_Shuffle *>(event)); break;
case ItemId_Event_RollDie: eventRollDie(static_cast<Event_RollDie *>(event)); break;
......
......@@ -26,6 +26,7 @@ class CommandContainer;
class GameCommand;
class GameEvent;
class GameEventContext;
class Event_ConnectionStateChanged;
class Event_Say;
class Event_Shuffle;
class Event_RollDie;
......@@ -69,6 +70,7 @@ class Player : public QObject, public QGraphicsItem {
signals:
void newCardAdded(AbstractCardItem *card);
// Log events
void logConnectionStateChanged(Player *player, bool connectionState);
void logSay(Player *player, QString message);
void logShuffle(Player *player, CardZone *zone);
void logRollDie(Player *player, int sides, int roll);
......@@ -176,6 +178,7 @@ private:
void initSayMenu();
void eventConnectionStateChanged(Event_ConnectionStateChanged *event);
void eventSay(Event_Say *event);
void eventShuffle(Event_Shuffle *event);
void eventRollDie(Event_RollDie *event);
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -43,43 +43,44 @@ ItemId_Command_SetActivePhase = 1041,
ItemId_Command_DumpZone = 1042,
ItemId_Command_StopDumpZone = 1043,
ItemId_Command_RevealCards = 1044,
ItemId_Event_Say = 1045,
ItemId_Event_Leave = 1046,
ItemId_Event_GameClosed = 1047,
ItemId_Event_Kicked = 1048,
ItemId_Event_Shuffle = 1049,
ItemId_Event_RollDie = 1050,
ItemId_Event_MoveCard = 1051,
ItemId_Event_FlipCard = 1052,
ItemId_Event_DestroyCard = 1053,
ItemId_Event_AttachCard = 1054,
ItemId_Event_CreateToken = 1055,
ItemId_Event_DeleteArrow = 1056,
ItemId_Event_SetCardAttr = 1057,
ItemId_Event_SetCardCounter = 1058,
ItemId_Event_SetCounter = 1059,
ItemId_Event_DelCounter = 1060,
ItemId_Event_SetActivePlayer = 1061,
ItemId_Event_SetActivePhase = 1062,
ItemId_Event_DumpZone = 1063,
ItemId_Event_StopDumpZone = 1064,
ItemId_Event_RemoveFromList = 1065,
ItemId_Event_ServerMessage = 1066,
ItemId_Event_ServerShutdown = 1067,
ItemId_Event_ConnectionClosed = 1068,
ItemId_Event_Message = 1069,
ItemId_Event_GameJoined = 1070,
ItemId_Event_UserLeft = 1071,
ItemId_Event_LeaveRoom = 1072,
ItemId_Event_RoomSay = 1073,
ItemId_Context_ReadyStart = 1074,
ItemId_Context_Concede = 1075,
ItemId_Context_DeckSelect = 1076,
ItemId_Context_UndoDraw = 1077,
ItemId_Context_MoveCard = 1078,
ItemId_Context_Mulligan = 1079,
ItemId_Command_UpdateServerMessage = 1080,
ItemId_Command_ShutdownServer = 1081,
ItemId_Command_BanFromServer = 1082,
ItemId_Other = 1083
ItemId_Event_ConnectionStateChanged = 1045,
ItemId_Event_Say = 1046,
ItemId_Event_Leave = 1047,
ItemId_Event_GameClosed = 1048,
ItemId_Event_Kicked = 1049,
ItemId_Event_Shuffle = 1050,
ItemId_Event_RollDie = 1051,
ItemId_Event_MoveCard = 1052,
ItemId_Event_FlipCard = 1053,
ItemId_Event_DestroyCard = 1054,
ItemId_Event_AttachCard = 1055,
ItemId_Event_CreateToken = 1056,
ItemId_Event_DeleteArrow = 1057,
ItemId_Event_SetCardAttr = 1058,
ItemId_Event_SetCardCounter = 1059,
ItemId_Event_SetCounter = 1060,
ItemId_Event_DelCounter = 1061,
ItemId_Event_SetActivePlayer = 1062,
ItemId_Event_SetActivePhase = 1063,
ItemId_Event_DumpZone = 1064,
ItemId_Event_StopDumpZone = 1065,
ItemId_Event_RemoveFromList = 1066,
ItemId_Event_ServerMessage = 1067,
ItemId_Event_ServerShutdown = 1068,
ItemId_Event_ConnectionClosed = 1069,
ItemId_Event_Message = 1070,
ItemId_Event_GameJoined = 1071,
ItemId_Event_UserLeft = 1072,
ItemId_Event_LeaveRoom = 1073,
ItemId_Event_RoomSay = 1074,
ItemId_Context_ReadyStart = 1075,
ItemId_Context_Concede = 1076,
ItemId_Context_DeckSelect = 1077,
ItemId_Context_UndoDraw = 1078,
ItemId_Context_MoveCard = 1079,
ItemId_Context_Mulligan = 1080,
ItemId_Command_UpdateServerMessage = 1081,
ItemId_Command_ShutdownServer = 1082,
ItemId_Command_BanFromServer = 1083,
ItemId_Other = 1084
};
......@@ -255,6 +255,11 @@ Command_RevealCards::Command_RevealCards(int _gameId, const QString &_zoneName,
insertItem(new SerializableItem_Int("card_id", _cardId));
insertItem(new SerializableItem_Int("player_id", _playerId));
}
Event_ConnectionStateChanged::Event_ConnectionStateChanged(int _playerId, bool _connected)
: GameEvent("connection_state_changed", _playerId)
{
insertItem(new SerializableItem_Bool("connected", _connected));
}
Event_Say::Event_Say(int _playerId, const QString &_message)
: GameEvent("say", _playerId)
{
......@@ -531,6 +536,7 @@ void ProtocolItem::initializeHashAuto()
itemNameHash.insert("cmddump_zone", Command_DumpZone::newItem);
itemNameHash.insert("cmdstop_dump_zone", Command_StopDumpZone::newItem);
itemNameHash.insert("cmdreveal_cards", Command_RevealCards::newItem);
itemNameHash.insert("game_eventconnection_state_changed", Event_ConnectionStateChanged::newItem);
itemNameHash.insert("game_eventsay", Event_Say::newItem);
itemNameHash.insert("game_eventleave", Event_Leave::newItem);
itemNameHash.insert("game_eventgame_closed", Event_GameClosed::newItem);
......
......@@ -42,6 +42,7 @@
2:dump_zone:i,player_id:s,zone_name:i,number_cards
2:stop_dump_zone:i,player_id:s,zone_name
2:reveal_cards:s,zone_name:i,card_id:i,player_id
3:connection_state_changed:b,connected
3:say:s,message
3:leave
3:game_closed
......
......@@ -389,6 +389,14 @@ public:
static SerializableItem *newItem() { return new Command_RevealCards; }
int getItemId() const { return ItemId_Command_RevealCards; }
};
class Event_ConnectionStateChanged : public GameEvent {
Q_OBJECT
public:
Event_ConnectionStateChanged(int _playerId = -1, bool _connected = false);
bool getConnected() const { return static_cast<SerializableItem_Bool *>(itemMap.value("connected"))->getData(); };
static SerializableItem *newItem() { return new Event_ConnectionStateChanged; }
int getItemId() const { return ItemId_Event_ConnectionStateChanged; }
};
class Event_Say : public GameEvent {
Q_OBJECT
public:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment