GigaPasjans
Loading...
Searching...
No Matches
Game::InteractionManager Class Reference

Handles logic for managing and performing card interactions. More...

#include <InteractionManager.h>

Collaboration diagram for Game::InteractionManager:

Static Public Member Functions

static int32 GetMotionCount ()
 Returns the number of interactions in the motion stack.
 
static void SetAllowedReverts (int32 allowedReverts)
 Sets the allowed number of interaction reverts.
 
static int32 GetAvailableReverts ()
 Gets the number of reverts remaining.
 
static void Clear ()
 Clears all stored interaction history.
 
template<typename T, class... Args>
static T * Push (InteractionType type, Args &&...args)
 Pushes a new interaction to the history and executes it.
 
static void TakeStockNextCard ()
 Draws the next card from the stock.
 
static void MoveCard (Card *card, CardStack *targetStack, bool authorizedMove=false)
 Moves a single card to the given target stack.
 
static void MoveCards (const std::vector< Card * > &cards, CardStack *targetStack)
 Moves a group of cards to the given target stack.
 
static void SaveMovement (std::ostream &stream)
 Saves the current interaction history to a stream.
 
static void LoadMovement (std::istream &stream)
 Loads interaction history from a stream.
 
static bool ProvideActions (Andromenda::ActionRegistry &registry)
 Registers actions in the provided action registry.
 
static void PlayIllegalSound ()
 Plays a sound for invalid interactions.
 
static void Undo ()
 

Static Public Attributes

static DeckDeck = nullptr
 Pointer to the game deck used in interactions.
 
static std::function< void()> ReloadCallback
 Callback triggered after any interaction is performed.
 

Friends

class ReplaySystem
 

Detailed Description

Handles logic for managing and performing card interactions.


The documentation for this class was generated from the following files: