mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-08 11:03:25 -08:00
[Refactor] Build deck setup commands in GameEventHandler instead of DeckViewContainer
This commit is contained in:
parent
0f5b1a032a
commit
ca6f561297
3 changed files with 139 additions and 29 deletions
|
|
@ -29,8 +29,10 @@
|
|||
// GameEventContext, ServerInfo_Player and ServerInfo_User are passed by value
|
||||
// to signals and slots, so the moc-generated code needs the complete types.
|
||||
#include <libcockatrice/protocol/pb/game_event_context.pb.h>
|
||||
#include <libcockatrice/protocol/pb/move_card_to_zone.pb.h>
|
||||
#include <libcockatrice/protocol/pb/serverinfo_player.pb.h>
|
||||
#include <libcockatrice/protocol/pb/serverinfo_user.pb.h>
|
||||
#include <libcockatrice/utility/playmat_params.h>
|
||||
|
||||
class AbstractClient;
|
||||
class AbstractGame;
|
||||
|
|
@ -151,6 +153,67 @@ public:
|
|||
void handleArrowDeletion(int creatorId, int arrowId);
|
||||
void handleArrowDeletionFinished(const Response &response, int creatorId, int arrowId);
|
||||
|
||||
/**
|
||||
* @brief Prepare a deck selection from its native deck list text.
|
||||
*
|
||||
* The returned command is not sent yet, so the caller can connect to
|
||||
* PendingCommand::finished before handing it to sendGameCommand().
|
||||
*
|
||||
* @param deckList Serialized deck list.
|
||||
* @return The pending command awaiting the deck download response.
|
||||
*/
|
||||
PendingCommand *prepareDeckSelect(const QString &deckList);
|
||||
|
||||
/**
|
||||
* @brief Prepare a deck selection for a deck stored on the server.
|
||||
*
|
||||
* The returned command is not sent yet, so the caller can connect to
|
||||
* PendingCommand::finished before handing it to sendGameCommand().
|
||||
*
|
||||
* @param deckId Server-side deck identifier.
|
||||
* @return The pending command awaiting the deck download response.
|
||||
*/
|
||||
PendingCommand *prepareDeckSelectId(int deckId);
|
||||
|
||||
/**
|
||||
* @brief Send a resolved playmat for a player.
|
||||
*
|
||||
* @param playmat Resolved playmat card and positioning parameters.
|
||||
* @param playerId Player the playmat belongs to.
|
||||
*/
|
||||
void sendSetPlaymat(const PlaymatInfo &playmat, int playerId);
|
||||
|
||||
/**
|
||||
* @brief Set a player's ready state.
|
||||
*
|
||||
* @param ready Whether the player is ready.
|
||||
* @param playerId Player the state applies to.
|
||||
*/
|
||||
void sendReadyStart(bool ready, int playerId);
|
||||
|
||||
/**
|
||||
* @brief Force-start the game, kicking every player who is not ready.
|
||||
*
|
||||
* @param playerId Player issuing the force start.
|
||||
*/
|
||||
void sendForceStart(int playerId);
|
||||
|
||||
/**
|
||||
* @brief Lock or unlock a player's sideboard.
|
||||
*
|
||||
* @param locked Whether the sideboard is locked.
|
||||
* @param playerId Player the lock applies to.
|
||||
*/
|
||||
void sendSetSideboardLock(bool locked, int playerId);
|
||||
|
||||
/**
|
||||
* @brief Send a player's sideboard plan.
|
||||
*
|
||||
* @param plan Cards to move between zones when leaving sideboarding.
|
||||
* @param playerId Player the plan belongs to.
|
||||
*/
|
||||
void sendSetSideboardPlan(const QList<MoveCard_ToZone> &plan, int playerId);
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @name Incoming event processing
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue