mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-15 11:38:49 -07:00
Player refactor (#6112)
* Player refactor. Took 1 hour 43 minutes Took 1 minute Took 23 seconds * Tiny lint. Took 3 minutes * Hook up tap logic again. Took 13 minutes * Fix an include. Took 3 minutes * Stuff. Took 6 minutes * Fix typo. Took 7 minutes * Include. Took 1 minute * Reorganize method/variable definitions, remove unused ones. Took 1 hour 8 minutes Took 24 seconds * Clean up some unused imports. Took 6 minutes * Player holds the deck, emits deckChanged(), other elements player->getDeck() to respond to changes. Took 37 minutes * Connect player->openDeckEditor signal directly in the player constructor Took 6 minutes * Emit openDeckEditor signal in player_actions again. Took 3 minutes * Do to-do's Took 3 hours 32 minutes * Lint. Took 3 minutes * Lint again. Took 2 minutes * Fix include. Took 32 minutes * The stack should ensure card visibility. Took 21 minutes * Fine, the game can remember the tab. Took 10 minutes Took 21 seconds Took 9 seconds * zoneId is a dynamic gameplay property and thus belongs in player.cpp Took 11 minutes Took 19 seconds * Signal view removal, addition. Took 5 minutes * Ensure all players are considered local in local game. Took 10 minutes * ENSURE they are. Took 8 minutes * Bounds check data sent by QAction() Took 54 minutes * Move comment. Took 20 seconds * Reimplement logging category for game_event_handler.cpp, remove linebreaks. Took 36 seconds * PlayerGraphicsItem is responsible for retranslateUi, not Player. Took 14 seconds * Set menu for sideboard again, translate some menu titles, reimplement actIncPT action Took 54 seconds * Comment spacing. Took 43 seconds * Change message_log_widget.cpp slots to take CardZoneLogic parameters as emitted by PlayerEventHandler. Took 7 minutes Took 14 seconds * Remove unused player_logger.cpp Took 2 minutes * Query local game state correctly from tab_supervisor again Took 3 minutes * Revert Deck legality checker. Took 3 minutes * Instantiate menu before graphics item. Took 1 hour 5 minutes Took 55 minutes * Differentiate games and replays. Took 9 seconds * Lint. Took 10 minutes --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
parent
b8e545bfa4
commit
9601a1fa4e
92 changed files with 7104 additions and 5827 deletions
|
|
@ -3,12 +3,12 @@
|
|||
|
||||
#include "pb/event_leave.pb.h"
|
||||
#include "pb/serverinfo_player.pb.h"
|
||||
#include "player/player.h"
|
||||
#include "player/event_processing_options.h"
|
||||
|
||||
#include <QLoggingCategory>
|
||||
#include <QObject>
|
||||
|
||||
class AbstractClient;
|
||||
class TabGame;
|
||||
class Response;
|
||||
class GameEventContainer;
|
||||
class GameEventContext;
|
||||
|
|
@ -30,24 +30,27 @@ class Event_Ping;
|
|||
class Event_GameSay;
|
||||
class Event_Kicked;
|
||||
class Event_ReverseTurn;
|
||||
class AbstractGame;
|
||||
class PendingCommand;
|
||||
class Player;
|
||||
|
||||
inline Q_LOGGING_CATEGORY(GameEventHandlerLog, "tab_game");
|
||||
|
||||
class GameEventHandler : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private:
|
||||
TabGame *game;
|
||||
GameState *gameState;
|
||||
AbstractGame *game;
|
||||
|
||||
public:
|
||||
GameEventHandler(TabGame *game);
|
||||
explicit GameEventHandler(AbstractGame *_game);
|
||||
|
||||
void handleNextTurn();
|
||||
void handleReverseTurn();
|
||||
|
||||
void handlePlayerConceded();
|
||||
void handlePlayerUnconceded();
|
||||
void handleActiveLocalPlayerConceded();
|
||||
void handleActiveLocalPlayerUnconceded();
|
||||
void handleActivePhaseChanged(int phase);
|
||||
void handleGameLeft();
|
||||
void handleChatMessageSent(const QString &chatMessage);
|
||||
|
|
@ -75,9 +78,8 @@ public:
|
|||
|
||||
void commandFinished(const Response &response);
|
||||
|
||||
void processGameEventContainer(const GameEventContainer &cont,
|
||||
AbstractClient *client,
|
||||
Player::EventProcessingOptions options);
|
||||
void
|
||||
processGameEventContainer(const GameEventContainer &cont, AbstractClient *client, EventProcessingOptions options);
|
||||
PendingCommand *prepareGameCommand(const ::google::protobuf::Message &cmd);
|
||||
PendingCommand *prepareGameCommand(const QList<const ::google::protobuf::Message *> &cmdList);
|
||||
public slots:
|
||||
|
|
@ -85,6 +87,8 @@ public slots:
|
|||
void sendGameCommand(const ::google::protobuf::Message &command, int playerId = -1);
|
||||
|
||||
signals:
|
||||
void emitUserEvent();
|
||||
void addPlayerToAutoCompleteList(QString playerName);
|
||||
void localPlayerDeckSelected(Player *localPlayer, int playerId, ServerInfo_Player playerInfo);
|
||||
void remotePlayerDeckSelected(QString deckList, int playerId, QString playerName);
|
||||
void remotePlayersDecksSelected(QVector<QPair<int, QPair<QString, QString>>> opponentDecks);
|
||||
|
|
@ -107,8 +111,6 @@ signals:
|
|||
void logGameStart();
|
||||
void logReadyStart(Player *player);
|
||||
void logNotReadyStart(Player *player);
|
||||
void playerConceded(Player *player);
|
||||
void playerUnconceded(Player *player);
|
||||
void logDeckSelect(Player *player, QString deckHash, int sideboardSize);
|
||||
void logSideboardLockSet(Player *player, bool sideboardLocked);
|
||||
void logConnectionStateChanged(Player *player, bool connected);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue