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