#ifndef PROTOCOL_ITEMS_H #define PROTOCOL_ITEMS_H #include "protocol.h" class Event_ConnectionStateChanged : public GameEvent { Q_OBJECT public: Event_ConnectionStateChanged(int _playerId = -1, bool _connected = false); bool getConnected() const { return static_cast(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: Event_Say(int _playerId = -1, const QString &_message = QString()); QString getMessage() const { return static_cast(itemMap.value("message"))->getData(); }; static SerializableItem *newItem() { return new Event_Say; } int getItemId() const { return ItemId_Event_Say; } }; class Event_Leave : public GameEvent { Q_OBJECT public: Event_Leave(int _playerId = -1); static SerializableItem *newItem() { return new Event_Leave; } int getItemId() const { return ItemId_Event_Leave; } }; class Event_GameClosed : public GameEvent { Q_OBJECT public: Event_GameClosed(int _playerId = -1); static SerializableItem *newItem() { return new Event_GameClosed; } int getItemId() const { return ItemId_Event_GameClosed; } }; class Event_GameHostChanged : public GameEvent { Q_OBJECT public: Event_GameHostChanged(int _playerId = -1); static SerializableItem *newItem() { return new Event_GameHostChanged; } int getItemId() const { return ItemId_Event_GameHostChanged; } }; class Event_Kicked : public GameEvent { Q_OBJECT public: Event_Kicked(int _playerId = -1); static SerializableItem *newItem() { return new Event_Kicked; } int getItemId() const { return ItemId_Event_Kicked; } }; class Event_Shuffle : public GameEvent { Q_OBJECT public: Event_Shuffle(int _playerId = -1); static SerializableItem *newItem() { return new Event_Shuffle; } int getItemId() const { return ItemId_Event_Shuffle; } }; class Event_RollDie : public GameEvent { Q_OBJECT public: Event_RollDie(int _playerId = -1, int _sides = -1, int _value = -1); int getSides() const { return static_cast(itemMap.value("sides"))->getData(); }; int getValue() const { return static_cast(itemMap.value("value"))->getData(); }; static SerializableItem *newItem() { return new Event_RollDie; } int getItemId() const { return ItemId_Event_RollDie; } }; class Event_MoveCard : public GameEvent { Q_OBJECT public: Event_MoveCard(int _playerId = -1, int _cardId = -1, const QString &_cardName = QString(), const QString &_startZone = QString(), int _position = -1, int _targetPlayerId = -1, const QString &_targetZone = QString(), int _x = -1, int _y = -1, int _newCardId = -1, bool _faceDown = false); int getCardId() const { return static_cast(itemMap.value("card_id"))->getData(); }; QString getCardName() const { return static_cast(itemMap.value("card_name"))->getData(); }; QString getStartZone() const { return static_cast(itemMap.value("start_zone"))->getData(); }; int getPosition() const { return static_cast(itemMap.value("position"))->getData(); }; int getTargetPlayerId() const { return static_cast(itemMap.value("target_player_id"))->getData(); }; QString getTargetZone() const { return static_cast(itemMap.value("target_zone"))->getData(); }; int getX() const { return static_cast(itemMap.value("x"))->getData(); }; int getY() const { return static_cast(itemMap.value("y"))->getData(); }; int getNewCardId() const { return static_cast(itemMap.value("new_card_id"))->getData(); }; bool getFaceDown() const { return static_cast(itemMap.value("face_down"))->getData(); }; static SerializableItem *newItem() { return new Event_MoveCard; } int getItemId() const { return ItemId_Event_MoveCard; } }; class Event_FlipCard : public GameEvent { Q_OBJECT public: Event_FlipCard(int _playerId = -1, const QString &_zone = QString(), int _cardId = -1, const QString &_cardName = QString(), bool _faceDown = false); QString getZone() const { return static_cast(itemMap.value("zone"))->getData(); }; int getCardId() const { return static_cast(itemMap.value("card_id"))->getData(); }; QString getCardName() const { return static_cast(itemMap.value("card_name"))->getData(); }; bool getFaceDown() const { return static_cast(itemMap.value("face_down"))->getData(); }; static SerializableItem *newItem() { return new Event_FlipCard; } int getItemId() const { return ItemId_Event_FlipCard; } }; class Event_DestroyCard : public GameEvent { Q_OBJECT public: Event_DestroyCard(int _playerId = -1, const QString &_zone = QString(), int _cardId = -1); QString getZone() const { return static_cast(itemMap.value("zone"))->getData(); }; int getCardId() const { return static_cast(itemMap.value("card_id"))->getData(); }; static SerializableItem *newItem() { return new Event_DestroyCard; } int getItemId() const { return ItemId_Event_DestroyCard; } }; class Event_AttachCard : public GameEvent { Q_OBJECT public: Event_AttachCard(int _playerId = -1, const QString &_startZone = QString(), int _cardId = -1, int _targetPlayerId = -1, const QString &_targetZone = QString(), int _targetCardId = -1); QString getStartZone() const { return static_cast(itemMap.value("start_zone"))->getData(); }; int getCardId() const { return static_cast(itemMap.value("card_id"))->getData(); }; int getTargetPlayerId() const { return static_cast(itemMap.value("target_player_id"))->getData(); }; QString getTargetZone() const { return static_cast(itemMap.value("target_zone"))->getData(); }; int getTargetCardId() const { return static_cast(itemMap.value("target_card_id"))->getData(); }; static SerializableItem *newItem() { return new Event_AttachCard; } int getItemId() const { return ItemId_Event_AttachCard; } }; class Event_CreateToken : public GameEvent { Q_OBJECT public: Event_CreateToken(int _playerId = -1, const QString &_zone = QString(), int _cardId = -1, const QString &_cardName = QString(), const QString &_color = QString(), const QString &_pt = QString(), const QString &_annotation = QString(), bool _destroyOnZoneChange = false, int _x = -1, int _y = -1); QString getZone() const { return static_cast(itemMap.value("zone"))->getData(); }; int getCardId() const { return static_cast(itemMap.value("card_id"))->getData(); }; QString getCardName() const { return static_cast(itemMap.value("card_name"))->getData(); }; QString getColor() const { return static_cast(itemMap.value("color"))->getData(); }; QString getPt() const { return static_cast(itemMap.value("pt"))->getData(); }; QString getAnnotation() const { return static_cast(itemMap.value("annotation"))->getData(); }; bool getDestroyOnZoneChange() const { return static_cast(itemMap.value("destroy_on_zone_change"))->getData(); }; int getX() const { return static_cast(itemMap.value("x"))->getData(); }; int getY() const { return static_cast(itemMap.value("y"))->getData(); }; static SerializableItem *newItem() { return new Event_CreateToken; } int getItemId() const { return ItemId_Event_CreateToken; } }; class Event_DeleteArrow : public GameEvent { Q_OBJECT public: Event_DeleteArrow(int _playerId = -1, int _arrowId = -1); int getArrowId() const { return static_cast(itemMap.value("arrow_id"))->getData(); }; static SerializableItem *newItem() { return new Event_DeleteArrow; } int getItemId() const { return ItemId_Event_DeleteArrow; } }; class Event_SetCardAttr : public GameEvent { Q_OBJECT public: Event_SetCardAttr(int _playerId = -1, const QString &_zone = QString(), int _cardId = -1, const QString &_attrName = QString(), const QString &_attrValue = QString()); QString getZone() const { return static_cast(itemMap.value("zone"))->getData(); }; int getCardId() const { return static_cast(itemMap.value("card_id"))->getData(); }; QString getAttrName() const { return static_cast(itemMap.value("attr_name"))->getData(); }; QString getAttrValue() const { return static_cast(itemMap.value("attr_value"))->getData(); }; static SerializableItem *newItem() { return new Event_SetCardAttr; } int getItemId() const { return ItemId_Event_SetCardAttr; } }; class Event_SetCardCounter : public GameEvent { Q_OBJECT public: Event_SetCardCounter(int _playerId = -1, const QString &_zone = QString(), int _cardId = -1, int _counterId = -1, int _counterValue = -1); QString getZone() const { return static_cast(itemMap.value("zone"))->getData(); }; int getCardId() const { return static_cast(itemMap.value("card_id"))->getData(); }; int getCounterId() const { return static_cast(itemMap.value("counter_id"))->getData(); }; int getCounterValue() const { return static_cast(itemMap.value("counter_value"))->getData(); }; static SerializableItem *newItem() { return new Event_SetCardCounter; } int getItemId() const { return ItemId_Event_SetCardCounter; } }; class Event_SetCounter : public GameEvent { Q_OBJECT public: Event_SetCounter(int _playerId = -1, int _counterId = -1, int _value = -1); int getCounterId() const { return static_cast(itemMap.value("counter_id"))->getData(); }; int getValue() const { return static_cast(itemMap.value("value"))->getData(); }; static SerializableItem *newItem() { return new Event_SetCounter; } int getItemId() const { return ItemId_Event_SetCounter; } }; class Event_DelCounter : public GameEvent { Q_OBJECT public: Event_DelCounter(int _playerId = -1, int _counterId = -1); int getCounterId() const { return static_cast(itemMap.value("counter_id"))->getData(); }; static SerializableItem *newItem() { return new Event_DelCounter; } int getItemId() const { return ItemId_Event_DelCounter; } }; class Event_SetActivePlayer : public GameEvent { Q_OBJECT public: Event_SetActivePlayer(int _playerId = -1, int _activePlayerId = -1); int getActivePlayerId() const { return static_cast(itemMap.value("active_player_id"))->getData(); }; static SerializableItem *newItem() { return new Event_SetActivePlayer; } int getItemId() const { return ItemId_Event_SetActivePlayer; } }; class Event_SetActivePhase : public GameEvent { Q_OBJECT public: Event_SetActivePhase(int _playerId = -1, int _phase = -1); int getPhase() const { return static_cast(itemMap.value("phase"))->getData(); }; static SerializableItem *newItem() { return new Event_SetActivePhase; } int getItemId() const { return ItemId_Event_SetActivePhase; } }; class Event_DumpZone : public GameEvent { Q_OBJECT public: Event_DumpZone(int _playerId = -1, int _zoneOwnerId = -1, const QString &_zone = QString(), int _numberCards = -1); int getZoneOwnerId() const { return static_cast(itemMap.value("zone_owner_id"))->getData(); }; QString getZone() const { return static_cast(itemMap.value("zone"))->getData(); }; int getNumberCards() const { return static_cast(itemMap.value("number_cards"))->getData(); }; static SerializableItem *newItem() { return new Event_DumpZone; } int getItemId() const { return ItemId_Event_DumpZone; } }; class Event_StopDumpZone : public GameEvent { Q_OBJECT public: Event_StopDumpZone(int _playerId = -1, int _zoneOwnerId = -1, const QString &_zone = QString()); int getZoneOwnerId() const { return static_cast(itemMap.value("zone_owner_id"))->getData(); }; QString getZone() const { return static_cast(itemMap.value("zone"))->getData(); }; static SerializableItem *newItem() { return new Event_StopDumpZone; } int getItemId() const { return ItemId_Event_StopDumpZone; } }; class Event_RemoveFromList : public GenericEvent { Q_OBJECT public: Event_RemoveFromList(const QString &_list = QString(), const QString &_userName = QString()); QString getList() const { return static_cast(itemMap.value("list"))->getData(); }; QString getUserName() const { return static_cast(itemMap.value("user_name"))->getData(); }; static SerializableItem *newItem() { return new Event_RemoveFromList; } int getItemId() const { return ItemId_Event_RemoveFromList; } }; class Event_ServerMessage : public GenericEvent { Q_OBJECT public: Event_ServerMessage(const QString &_message = QString()); QString getMessage() const { return static_cast(itemMap.value("message"))->getData(); }; static SerializableItem *newItem() { return new Event_ServerMessage; } int getItemId() const { return ItemId_Event_ServerMessage; } }; class Event_ServerShutdown : public GenericEvent { Q_OBJECT public: Event_ServerShutdown(const QString &_reason = QString(), int _minutes = -1); QString getReason() const { return static_cast(itemMap.value("reason"))->getData(); }; int getMinutes() const { return static_cast(itemMap.value("minutes"))->getData(); }; static SerializableItem *newItem() { return new Event_ServerShutdown; } int getItemId() const { return ItemId_Event_ServerShutdown; } }; class Event_ConnectionClosed : public GenericEvent { Q_OBJECT public: Event_ConnectionClosed(const QString &_reason = QString()); QString getReason() const { return static_cast(itemMap.value("reason"))->getData(); }; static SerializableItem *newItem() { return new Event_ConnectionClosed; } int getItemId() const { return ItemId_Event_ConnectionClosed; } }; class Event_Message : public GenericEvent { Q_OBJECT public: Event_Message(const QString &_senderName = QString(), const QString &_receiverName = QString(), const QString &_text = QString()); QString getSenderName() const { return static_cast(itemMap.value("sender_name"))->getData(); }; QString getReceiverName() const { return static_cast(itemMap.value("receiver_name"))->getData(); }; QString getText() const { return static_cast(itemMap.value("text"))->getData(); }; static SerializableItem *newItem() { return new Event_Message; } int getItemId() const { return ItemId_Event_Message; } }; class Event_GameJoined : public GenericEvent { Q_OBJECT public: Event_GameJoined(int _gameId = -1, const QString &_gameDescription = QString(), int _hostId = -1, int _playerId = -1, bool _spectator = false, bool _spectatorsCanTalk = false, bool _spectatorsSeeEverything = false, bool _resuming = false); int getGameId() const { return static_cast(itemMap.value("game_id"))->getData(); }; QString getGameDescription() const { return static_cast(itemMap.value("game_description"))->getData(); }; int getHostId() const { return static_cast(itemMap.value("host_id"))->getData(); }; int getPlayerId() const { return static_cast(itemMap.value("player_id"))->getData(); }; bool getSpectator() const { return static_cast(itemMap.value("spectator"))->getData(); }; bool getSpectatorsCanTalk() const { return static_cast(itemMap.value("spectators_can_talk"))->getData(); }; bool getSpectatorsSeeEverything() const { return static_cast(itemMap.value("spectators_see_everything"))->getData(); }; bool getResuming() const { return static_cast(itemMap.value("resuming"))->getData(); }; static SerializableItem *newItem() { return new Event_GameJoined; } int getItemId() const { return ItemId_Event_GameJoined; } }; class Event_UserLeft : public GenericEvent { Q_OBJECT public: Event_UserLeft(const QString &_userName = QString()); QString getUserName() const { return static_cast(itemMap.value("user_name"))->getData(); }; static SerializableItem *newItem() { return new Event_UserLeft; } int getItemId() const { return ItemId_Event_UserLeft; } }; class Event_LeaveRoom : public RoomEvent { Q_OBJECT public: Event_LeaveRoom(int _roomId = -1, const QString &_playerName = QString()); QString getPlayerName() const { return static_cast(itemMap.value("player_name"))->getData(); }; static SerializableItem *newItem() { return new Event_LeaveRoom; } int getItemId() const { return ItemId_Event_LeaveRoom; } }; class Event_RoomSay : public RoomEvent { Q_OBJECT public: Event_RoomSay(int _roomId = -1, const QString &_playerName = QString(), const QString &_message = QString()); QString getPlayerName() const { return static_cast(itemMap.value("player_name"))->getData(); }; QString getMessage() const { return static_cast(itemMap.value("message"))->getData(); }; static SerializableItem *newItem() { return new Event_RoomSay; } int getItemId() const { return ItemId_Event_RoomSay; } }; class Context_ReadyStart : public GameEventContext { Q_OBJECT public: Context_ReadyStart(); static SerializableItem *newItem() { return new Context_ReadyStart; } int getItemId() const { return ItemId_Context_ReadyStart; } }; class Context_Concede : public GameEventContext { Q_OBJECT public: Context_Concede(); static SerializableItem *newItem() { return new Context_Concede; } int getItemId() const { return ItemId_Context_Concede; } }; class Context_DeckSelect : public GameEventContext { Q_OBJECT public: Context_DeckSelect(const QString &_deckHash = QString()); QString getDeckHash() const { return static_cast(itemMap.value("deck_hash"))->getData(); }; static SerializableItem *newItem() { return new Context_DeckSelect; } int getItemId() const { return ItemId_Context_DeckSelect; } }; class Context_UndoDraw : public GameEventContext { Q_OBJECT public: Context_UndoDraw(); static SerializableItem *newItem() { return new Context_UndoDraw; } int getItemId() const { return ItemId_Context_UndoDraw; } }; class Context_MoveCard : public GameEventContext { Q_OBJECT public: Context_MoveCard(); static SerializableItem *newItem() { return new Context_MoveCard; } int getItemId() const { return ItemId_Context_MoveCard; } }; class Context_Mulligan : public GameEventContext { Q_OBJECT public: Context_Mulligan(int _number = -1); int getNumber() const { return static_cast(itemMap.value("number"))->getData(); }; static SerializableItem *newItem() { return new Context_Mulligan; } int getItemId() const { return ItemId_Context_Mulligan; } }; #endif