Brunot
Loading...
Searching...
No Matches
sys::Table Class Reference

The system responsible for facilitating communication between gameplay components (Players, Deck, and Board). More...

#include <Table.h>

Inheritance diagram for sys::Table:
[legend]
Collaboration diagram for sys::Table:
[legend]

Public Member Functions

 Table ()
 Table (const Table &)
 Table (Table &&other) noexcept
auto operator= (const Table &) -> Table &=default
auto operator= (Table &&other) noexcept -> Table &=default
 ~Table () override=default
auto clone () const -> std::unique_ptr< GameObject > override
 makes a copy a GameObject even if it's held polymorphically
auto systemShowMenu () -> void override
 Specific systems should override this function to show their specific menu for the system.
auto onUpdate (float dt) -> void override
 called once every frame.
auto endWindow () -> void override
 currently unused, but intended to but was assumed to be necessary for a proper ImGui editor
auto onRender () -> void override
 called every frame after update has been called for every object.
auto onSceneStart (const std::string &sceneName) -> void override
 Hook that is called before the first frame a scene is run, but after the entire scene is loaded into the engine To receive the hook, simply override the function in your class.
auto onSceneExit (const std::string &sceneName) -> void override
 Hook that is called right before a scene is unloaded To receive the hook, simply override the function in your class.
auto load (const Stream &stream) -> void override
 Implementations will load the state of a GameObject from a th::Json Object.
auto save (Stream &stream) const -> void override
 Implementations will load the state of a GameObject to a th::Json object.
auto reloadCache () -> void
 Re-gets the players, board, and deck pointers.
auto dealCardToPlayer (int playerNumber) -> void
 Draws a card from the deck and gives it to the player.
auto dealCardToPlayer (Player *player) -> void
 Draws a card from the deck and gives it to the player.
auto fillPlayerHand (Player *player) -> void
 Tells a player to draw cards until their hand is full.
auto fillAllPlayerHands () -> void
 Tells all players to fill their hands until they reach the limit.
auto movePlayerCardsUp (float cardDelay, Player *currentPlayer) const -> void
 Moves the current players cards up and highlights them.
auto movePlayerCardsDown (float cardDelay, Player *currentPlayer) const -> void
 Moves the current players cards down and makes them gray.
auto moveAllPlayersToNormalPosition (float delayAmount) const -> void
 Moves all current players to where.
auto moveAllPlayerCardsDown (float delayAmount) const -> void
 Moves all the players away from the center of the screen.
auto moveAllPlayersOffscreen (float delayAmount) const -> void
 Moves all the players away from the center of the screen.
auto moveSelectorToCurrentPlayer () -> void
 Moves the selector to the current player, as decided by PlayerTurn.
auto getInBoard () -> bool
 Gets if the player is in board right now.
auto setInBoard (bool setInBoard) -> void
 Sets inBoard to either true or false.
auto setInputID (int id) const -> void
 Updates the filter in the selector in the scene to a new value.
auto disableFilteredSelector () -> void
 Calls disableFilter, which then returns all inputs as valid.
auto updateScoreText (int newScore) -> void
 Updates the current player's score text, but doesn't actually change the value.
auto getSelector () const -> Entity *
 Gets selector variable.
auto undoLastPlayedCard () const -> void
 Returns the last played card on the board to the current players hand, and decrements cardsPlayedThisTurn.
auto playerScoreEffects () -> void
 Adds a popping and highlighting effect to the player score.
auto handPopUpPushBack (HandRating::HandType typeOfHand) -> void
 Automatically adds and adjusts player positions according to the count given in PlayerCountScene.
auto updateHandPopText (HandRating::HandType typeOfHand, int amount) -> void
 Automatically adds and adjusts player positions according to the count given in PlayerCountScene.
auto destroyHandPopUp () -> void
 Destroys the hand type pop up during scoring feedback.
auto unHighlightPlayedCards () const -> void
 Removes the highlighting effect of the cards that were played this turn.
auto getDisabledFilter () -> bool
 Checks if the filtered selector is disabled.
auto getDisabledInput () const -> bool
 Checks if the gameplay input is disabled.
auto enableGameplayInput () -> void
 Enables gameplay input (allows messaging for the selector and table).
auto enableHelpPopUp () -> void
auto disableHelpPopUp () -> void
auto disableGameplayInput () -> void
 Disables gameplay input (turns off messaging for the selector and table).
auto pauseCurrentPlayerTimer () const -> void
 Pauses the timer for the current player.
auto unpauseCurrentPlayerTimer () const -> void
 Pauses the timer for the current player.
auto grayCurrentTimer () const -> void
 Makes the current players timer gray.
auto hideDeckCount () const -> void
 Makes the deck count go invisible.
auto completelyHideSelector () const -> void
 Hides the selector and makes it stop emitting particles.
Public Member Functions inherited from System
auto showMenu () -> void override
 Called before update each frame, for calling ImGui editor code relevant to the gameObject.
auto getKey () const -> Key override
 Generates a unique Key that corresponds to the GameObject.
auto getParent () const -> GameObject *override
 Gets the parent of a GameObject.
Public Member Functions inherited from GameObject
 GameObject (std::string typeName, gobj::Type parentType, gobj::Type type)
 constructor for gameobject.
virtual ~GameObject ()
 destructor for GameObject.
 GameObject (const GameObject &other)
 Copy Constructor.
auto operator= (const GameObject &other) -> GameObject &
 copy assignment operator
 GameObject (GameObject &&other) noexcept
 Move constructor.
auto operator= (GameObject &&other) noexcept -> GameObject &
 Move assignment operator.
virtual auto update (float dt) -> void
 called once every frame.
virtual auto render () -> void
 called every frame after update has been called for every object.
virtual auto destroy () -> void
 Marks an GameObject to be destroyed.
virtual auto onEnterEngine () -> void
 hook that is called when a GameObject enters the Engine tree.
virtual auto for_each (std::function< void(GameObject &)> func) -> void
 applies a function to every child.
virtual auto for_each (std::function< void(const GameObject &)> func) const -> void
 applies a const function to every child.
virtual auto parentTo (GameObject *newParent) -> bool
 Sets the GameObject as a child of another GameObject.
auto getInternalParent () const -> GameObject *
 returns the actual owning parent of the GameObject
virtual auto addChild (std::unique_ptr< GameObject > newChild) -> bool
 Adds a child to a GameObject.
auto addChildLua (std::unique_ptr< GameObject > &newChild) -> bool
 for lua
auto destroyed () const -> bool
auto getUUID () const -> gobj::UUID
auto coolerGetUUID () const -> unsigned int
auto isUUID (gobj::UUID compareUUID) const -> bool
auto getName () const -> const std::string &
 Gets the type of the object as a string.
auto getNickname () const -> const std::string &
 Gets the nickname (custom, writable name) of a GameObject.
auto getFormattedName () const -> const std::string &
 combines a GameObjects Type, Nickname, and UUID into one string, for use with logging.
auto nameEquals (const std::string &compareString) const -> bool
 check whether a GameObjects typeName is equivilent to a given string.
auto isType (gobj::Type otherType) const -> bool
 check whether the GameObject is the same as a given type.
auto getObjectType () const -> gobj::Type
 gets the internal type of the GameObject, as an enum
auto setNickname (const std::string &newNickname) -> void
 sets the GameObjects nickname.
auto updates () const -> bool
auto renders () const -> bool
auto receivesMessages () const -> bool
auto isActive () const -> bool
virtual auto setShouldUpdate (bool _shouldUpdate) -> void
 set whether the GameObject should update every frame, and whether all of it's children should update every frame
virtual auto setShouldRender (bool _shouldRender) -> void
 set whether the GameObject should render every frame, and whether all of it's children should render every frame
virtual auto setShouldReceiveMessages (bool _shouldReceiveMessages) -> void
 set whether the GameObject should Receive Messags, and whether all of it's children should receive messages
auto setActive (bool shouldBeActive) -> void
 set the GameObject should update, render, and receive messages
auto getGameObjectJson () const -> json
 Used for serializing GameObjects.
auto setGameObjectJson (const json &stream) -> void
 used for deserializing GameObjects

Static Public Member Functions

static auto getEnum () -> Type
 function required by all systems

Private Member Functions

auto checkValidInputID (int id) const -> bool
 Checks if a passed in ID matches the filter inside the FilteredSelector.
auto moveSelectorToBoard () -> void
 Moves selector to the board. Used when a card is selected in a players hand.
auto moveSelectorToPlayer (int playerNumber) -> void
 Moves the selector to a player based on their index in the players vector.
auto moveSelectorToPlayer (Player *player) -> void
 Moves the selector to a specified player.
auto moveSelectorToLastSelectedCard () -> void
 Moves the selector to lastSelectedCard, which is set every time a card is selected in a players hand.
auto moveSelectorToLastSelectedTile () -> void
 Moves the selector to the last selected tile, which is set every time a card is played on the board.
auto getCurrentlyHoveredCard () const -> Card *
 Gets the card that the Selector is currently hovering over if the Selector in hand.
auto updatePlayerScoreText (int playerNumber) -> void
 Updates the text displayed for a players score.
auto updateCardsPlayedText () -> void
 Sets the text on screen to match the "numberOfCardsPlayedThisTurn" variable.
auto updateCardsInDeckText () const -> void
 Updates the text on screen to be the size of the Deck.
auto adjustPlayers () -> void
 Automatically adds and adjusts player positions according to the count given in PlayerCountScene.
auto reloadPlayers () -> void
 Gets all the pointers of the Player components for "players" in the cache.
auto reloadBoard () -> void
 Gets the pointer to the board component for "board" in the cache.
auto reloadDeck () -> void
 Gets the pointer to the deck component for "deck" in the cache.
auto reloadSelector () -> void
 Gets the pointer to the selector entity being used for gameplay for the cache Currently checks player1 for the selector.
auto resetTable () -> void
 Resets everything on the table to the start of a new round.
auto playCardOnBoard (Card *cardToPlay, const std::pair< int, int > &positionOnBoard) -> void
 Handles the entire in-engine process of playing a card on a board and visually moving it there.
auto receiveResetTable (const Message *message) -> Message
 Resets the table to prepare it for a new game.
auto receiveCardSelected (const Message *message) -> Message
 Moves the selector from the player hand to the board.
auto receiveDeselect (const Message *message) -> Message
 Moves the selector from the board to the player hand.
auto receiveUndo (const Message *message) -> Message
 Moves the last played card from the board to the players hand.
auto receiveRedo (const Message *message) -> Message
 Moves the last undone card back to where it was played.
auto receiveCardPlayedOnBoard (const Message *message) -> Message
 Moves the selector back to the player hand, unless it is the next players turn.
auto receiveEndTurn (const Message *message) -> Message
 Ends the current player's turn.
auto receiveScoreCalculator (const Message *message) -> Message
 Toggles the scoring calculator.
auto receivePlayerTimerRanOut (const Message *message) -> Message
 Informs playerTurn that a player has run out of time.
auto receiveHelp (const Message *message) -> Message
 Enables/Disables help popup.
auto receiveLeftKeyPressed (const Message *message) -> Message
auto receiveRightKeyPressed (const Message *message) -> Message
auto receiveUpKeyPressed (const Message *message) -> Message
auto receiveDownKeyPressed (const Message *message) -> Message
auto receiveAddScore (const Message *message) -> Message
 Cheat code that adds score to the current player.
auto receiveDrawCard (const Message *message) -> Message
 Cheat code that draws a card to the current player.
auto receiveGoToWinScreen (const Message *message) -> Message
 Cheat code that ends the game immediately and goes to the win screen.
auto disableFilteredSelector (const Message *message) -> Message
 Calls disableFilter, which then returns all inputs as valid.
auto linkMessages () -> void

Private Attributes

PlayerTurnplayerTurn = nullptr
 A cache of PlayerTurn so we can call its functions.
Scoringscoring = nullptr
 A cache of Scoring so we can call its functions.
std::vector< Player * > players
 We cache the players so we don't need to get it all the time.
Boardboard
 We cache the board so we don't need to get it all the time.
Deckdeck
 We cache the deck so we don't need to get it all the time.
Entityselector
 We cache the Selector so we don't need to get it all the time.
EntitylastSelectedTile
 Tracker of the last selected board tile, so the player doesn't start in the bottom left every time.
GameRulesgameRules
 Ruleset to follow for things like cards in hand, size of board, etc.
bool inBoard = false
 Bool that keeps track of if the player is in board. Used by score calculator.
bool filterDisabled = false
 Bool that keeps track of the filter for the selector is disabled.
bool inputDisabled = false
 Bool that keeps track of if the table and selector should receive input.

Friends

class PlayerTurn

Additional Inherited Members

Public Types inherited from System
enum class  Type : unsigned short {
  system_error_type = 0 , newSystemStub = 100 , OpenGL = 200 , Input = 300 ,
  Editor = 400 , Messaging = 500 , Camera = 600 , Logging = 700 ,
  AudioSystem = 750 , Scoring = 800 , HandSystem = 900 , PlayerTurn = 950 ,
  Table = 960 , SceneManager = 1000 , ScriptingManager = 1050 , Particles = 1075 ,
  ActionList = 1100 , DebugDraw = 1150 , ColliderSystem = 1300 , Options = 1400 ,
  GameRules = 1500 , TestRunner = 64'000
}
Public Attributes inherited from GameObject
friend Entity
friend Node
friend Engine
Protected Member Functions inherited from System
 System (const std::string &typeName, Type systemType)
Protected Member Functions inherited from GameObject
auto setInternalParent (GameObject *parent) -> bool
 sets the internal parent of a GameObject directly, avoiding abstractions provided by ParentTo().
virtual auto getChildren () const -> std::shared_ptr< std::vector< GameObject * > >
 gets a vector of a GameObjects public (i.e.
auto checkAddToSceneHook () -> void
 Determine if the GameObject was recently added to the engine, and if it was, call onEngineEnter.

Detailed Description

The system responsible for facilitating communication between gameplay components (Players, Deck, and Board).

@Table.h

Constructor & Destructor Documentation

◆ Table() [1/3]

sys::Table::Table ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Table() [2/3]

sys::Table::Table ( const Table & other)
Here is the call graph for this function:

◆ Table() [3/3]

sys::Table::Table ( Table && other)
noexcept
Here is the call graph for this function:

◆ ~Table()

sys::Table::~Table ( )
overridedefault

Member Function Documentation

◆ adjustPlayers()

auto sys::Table::adjustPlayers ( ) ->void
private

Automatically adds and adjusts player positions according to the count given in PlayerCountScene.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkValidInputID()

auto sys::Table::checkValidInputID ( int id) const->bool
private

Checks if a passed in ID matches the filter inside the FilteredSelector.

Parameters
idThe ID to check
Returns
If the input is allowed to go through
Here is the caller graph for this function:

◆ clone()

auto sys::Table::clone ( ) const->std::unique_ptr< GameObject >
inlineoverridevirtual

makes a copy a GameObject even if it's held polymorphically

Warning
When overriding this function, make sure to set the parents object to this
Returns
a unique_ptr to a new stack allocated object that is a copy of the object

Implements GameObject.

Here is the call graph for this function:

◆ completelyHideSelector()

auto sys::Table::completelyHideSelector ( ) const->void

Hides the selector and makes it stop emitting particles.

◆ dealCardToPlayer() [1/2]

auto sys::Table::dealCardToPlayer ( int playerNumber) ->void

Draws a card from the deck and gives it to the player.

Parameters
playerNumberThe index of the player in the "players" vector that should draw a card
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dealCardToPlayer() [2/2]

auto sys::Table::dealCardToPlayer ( Player * player) ->void

Draws a card from the deck and gives it to the player.

Parameters
playerThe player who should draw a card

◆ destroyHandPopUp()

auto sys::Table::destroyHandPopUp ( ) ->void

Destroys the hand type pop up during scoring feedback.

◆ disableFilteredSelector() [1/2]

auto sys::Table::disableFilteredSelector ( ) ->void

Calls disableFilter, which then returns all inputs as valid.

Here is the caller graph for this function:

◆ disableFilteredSelector() [2/2]

auto sys::Table::disableFilteredSelector ( const Message * message) ->Message
private

Calls disableFilter, which then returns all inputs as valid.

◆ disableGameplayInput()

auto sys::Table::disableGameplayInput ( ) ->void

Disables gameplay input (turns off messaging for the selector and table).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ disableHelpPopUp()

auto sys::Table::disableHelpPopUp ( ) ->void
Todo
we should play a sound effect here
Here is the call graph for this function:
Here is the caller graph for this function:

◆ enableGameplayInput()

auto sys::Table::enableGameplayInput ( ) ->void

Enables gameplay input (allows messaging for the selector and table).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enableHelpPopUp()

auto sys::Table::enableHelpPopUp ( ) ->void
Todo
we should play a sound effect here
Here is the caller graph for this function:

◆ endWindow()

auto sys::Table::endWindow ( ) ->void
inlineoverridevirtual

currently unused, but intended to but was assumed to be necessary for a proper ImGui editor

Implements GameObject.

◆ fillAllPlayerHands()

auto sys::Table::fillAllPlayerHands ( ) ->void

Tells all players to fill their hands until they reach the limit.

Warning
Should only be called at the start of a game
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fillPlayerHand()

auto sys::Table::fillPlayerHand ( Player * player) ->void

Tells a player to draw cards until their hand is full.

Parameters
playerThe player that should draw the cards
Here is the call graph for this function:

◆ getCurrentlyHoveredCard()

auto sys::Table::getCurrentlyHoveredCard ( ) const->Card *
private

Gets the card that the Selector is currently hovering over if the Selector in hand.

Returns
The card the selector is currently hovering over, or nullptr if there isn't one

◆ getDisabledFilter()

auto sys::Table::getDisabledFilter ( ) ->bool

Checks if the filtered selector is disabled.

◆ getDisabledInput()

auto sys::Table::getDisabledInput ( ) const->bool

Checks if the gameplay input is disabled.

◆ getEnum()

auto sys::Table::getEnum ( ) ->Type
inlinestatic

function required by all systems

◆ getInBoard()

auto sys::Table::getInBoard ( ) ->bool

Gets if the player is in board right now.

◆ getSelector()

auto sys::Table::getSelector ( ) const->Entity *

Gets selector variable.

Returns
Pointer to the selector Table is currently using.
Here is the caller graph for this function:

◆ grayCurrentTimer()

auto sys::Table::grayCurrentTimer ( ) const->void

Makes the current players timer gray.

Used by scoring feedback to gray the timer early

◆ handPopUpPushBack()

auto sys::Table::handPopUpPushBack ( HandRating::HandType typeOfHand) ->void

Automatically adds and adjusts player positions according to the count given in PlayerCountScene.

◆ hideDeckCount()

auto sys::Table::hideDeckCount ( ) const->void

Makes the deck count go invisible.

Only called once the deck is empty

◆ linkMessages()

auto sys::Table::linkMessages ( ) ->void
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ load()

auto sys::Table::load ( const Stream & stream) ->void
overridevirtual

Implementations will load the state of a GameObject from a th::Json Object.

Unimplemented in GameObject

Parameters
streamth::Json Object

Implements GameObject.

◆ moveAllPlayerCardsDown()

auto sys::Table::moveAllPlayerCardsDown ( float delayAmount) const->void

Moves all the players away from the center of the screen.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ moveAllPlayersOffscreen()

auto sys::Table::moveAllPlayersOffscreen ( float delayAmount) const->void

Moves all the players away from the center of the screen.

Here is the call graph for this function:

◆ moveAllPlayersToNormalPosition()

auto sys::Table::moveAllPlayersToNormalPosition ( float delayAmount) const->void

Moves all current players to where.

Here is the call graph for this function:

◆ movePlayerCardsDown()

auto sys::Table::movePlayerCardsDown ( float cardDelay,
Player * currentPlayer ) const->void

Moves the current players cards down and makes them gray.

Here is the call graph for this function:

◆ movePlayerCardsUp()

auto sys::Table::movePlayerCardsUp ( float cardDelay,
Player * currentPlayer ) const->void

Moves the current players cards up and highlights them.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ moveSelectorToBoard()

auto sys::Table::moveSelectorToBoard ( ) ->void
private

Moves selector to the board. Used when a card is selected in a players hand.

◆ moveSelectorToCurrentPlayer()

auto sys::Table::moveSelectorToCurrentPlayer ( ) ->void

Moves the selector to the current player, as decided by PlayerTurn.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ moveSelectorToLastSelectedCard()

auto sys::Table::moveSelectorToLastSelectedCard ( ) ->void
private

Moves the selector to lastSelectedCard, which is set every time a card is selected in a players hand.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ moveSelectorToLastSelectedTile()

auto sys::Table::moveSelectorToLastSelectedTile ( ) ->void
private

Moves the selector to the last selected tile, which is set every time a card is played on the board.

Here is the call graph for this function:

◆ moveSelectorToPlayer() [1/2]

auto sys::Table::moveSelectorToPlayer ( int playerNumber) ->void
private

Moves the selector to a player based on their index in the players vector.

Parameters
playerNumberThe index of the player in the players vector. Needs to a valid index
Here is the call graph for this function:
Here is the caller graph for this function:

◆ moveSelectorToPlayer() [2/2]

auto sys::Table::moveSelectorToPlayer ( Player * player) ->void
private

Moves the selector to a specified player.

Parameters
playerThe player to move the selector to

◆ onRender()

auto sys::Table::onRender ( ) ->void
overridevirtual

called every frame after update has been called for every object.

Generally used for rendering an object to the screen, when applicable. Unimplemented in GameObject

Implements GameObject.

◆ onSceneExit()

auto sys::Table::onSceneExit ( const std::string & sceneName) ->void
overridevirtual

Hook that is called right before a scene is unloaded To receive the hook, simply override the function in your class.

Parameters
sceneNamethe name of the root node of the old scene

Reimplemented from GameObject.

◆ onSceneStart()

auto sys::Table::onSceneStart ( const std::string & sceneName) ->void
overridevirtual

Hook that is called before the first frame a scene is run, but after the entire scene is loaded into the engine To receive the hook, simply override the function in your class.

Parameters
sceneNamethe name of the root node of the new scene

Prepare the board for a new round

Reimplemented from GameObject.

Here is the call graph for this function:

◆ onUpdate()

auto sys::Table::onUpdate ( float dt) ->void
overridevirtual

called once every frame.

Generally used for timers, movement, condition checks, etc. Unimplemented in GameObject

Parameters
dtthe time in seconds that has elapsed

Implements GameObject.

◆ operator=() [1/2]

auto sys::Table::operator= ( const Table & ) ->Table &=default
default
Here is the call graph for this function:

◆ operator=() [2/2]

auto sys::Table::operator= ( Table && other) ->Table &=default
defaultnoexcept
Here is the call graph for this function:

◆ pauseCurrentPlayerTimer()

auto sys::Table::pauseCurrentPlayerTimer ( ) const->void

Pauses the timer for the current player.

◆ playCardOnBoard()

auto sys::Table::playCardOnBoard ( Card * cardToPlay,
const std::pair< int, int > & positionOnBoard )->void
private

Handles the entire in-engine process of playing a card on a board and visually moving it there.

Parameters
cardToPlayThe card to be played
positionOnBoardThe position on the board where the card should be played
Here is the call graph for this function:

◆ playerScoreEffects()

auto sys::Table::playerScoreEffects ( ) ->void

Adds a popping and highlighting effect to the player score.

This is separate from updating the text itself because we need to use them at different times. This is intended for scoring feedback.

Here is the call graph for this function:

◆ receiveAddScore()

auto sys::Table::receiveAddScore ( const Message * message) ->Message
private

Cheat code that adds score to the current player.

Here is the caller graph for this function:

◆ receiveCardPlayedOnBoard()

auto sys::Table::receiveCardPlayedOnBoard ( const Message * message) ->Message
private

Moves the selector back to the player hand, unless it is the next players turn.

Here is the caller graph for this function:

◆ receiveCardSelected()

auto sys::Table::receiveCardSelected ( const Message * message) ->Message
private

Moves the selector from the player hand to the board.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveDeselect()

auto sys::Table::receiveDeselect ( const Message * message) ->Message
private

Moves the selector from the board to the player hand.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveDownKeyPressed()

auto sys::Table::receiveDownKeyPressed ( const Message * message) ->Message
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveDrawCard()

auto sys::Table::receiveDrawCard ( const Message * message) ->Message
private

Cheat code that draws a card to the current player.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveEndTurn()

auto sys::Table::receiveEndTurn ( const Message * message) ->Message
private

Ends the current player's turn.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveGoToWinScreen()

auto sys::Table::receiveGoToWinScreen ( const Message * message) ->Message
private

Cheat code that ends the game immediately and goes to the win screen.

Here is the caller graph for this function:

◆ receiveHelp()

auto sys::Table::receiveHelp ( const Message * message) ->Message
private

Enables/Disables help popup.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveLeftKeyPressed()

auto sys::Table::receiveLeftKeyPressed ( const Message * message) ->Message
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ receivePlayerTimerRanOut()

auto sys::Table::receivePlayerTimerRanOut ( const Message * message) ->Message
private

Informs playerTurn that a player has run out of time.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveRedo()

auto sys::Table::receiveRedo ( const Message * message) ->Message
private

Moves the last undone card back to where it was played.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveResetTable()

auto sys::Table::receiveResetTable ( const Message * message) ->Message
private

Resets the table to prepare it for a new game.

Here is the caller graph for this function:

◆ receiveRightKeyPressed()

auto sys::Table::receiveRightKeyPressed ( const Message * message) ->Message
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveScoreCalculator()

auto sys::Table::receiveScoreCalculator ( const Message * message) ->Message
private

Toggles the scoring calculator.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveUndo()

auto sys::Table::receiveUndo ( const Message * message) ->Message
private

Moves the last played card from the board to the players hand.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ receiveUpKeyPressed()

auto sys::Table::receiveUpKeyPressed ( const Message * message) ->Message
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reloadBoard()

auto sys::Table::reloadBoard ( ) ->void
private

Gets the pointer to the board component for "board" in the cache.

Here is the caller graph for this function:

◆ reloadCache()

auto sys::Table::reloadCache ( ) ->void

Re-gets the players, board, and deck pointers.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reloadDeck()

auto sys::Table::reloadDeck ( ) ->void
private

Gets the pointer to the deck component for "deck" in the cache.

Here is the caller graph for this function:

◆ reloadPlayers()

auto sys::Table::reloadPlayers ( ) ->void
private

Gets all the pointers of the Player components for "players" in the cache.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reloadSelector()

auto sys::Table::reloadSelector ( ) ->void
private

Gets the pointer to the selector entity being used for gameplay for the cache Currently checks player1 for the selector.

This needs to be updated if/when we move the default location of the selector

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetTable()

auto sys::Table::resetTable ( ) ->void
private

Resets everything on the table to the start of a new round.

Here is the call graph for this function:

◆ save()

auto sys::Table::save ( Stream & stream) const->void
overridevirtual

Implementations will load the state of a GameObject to a th::Json object.

Unimplemented in GameObject

Parameters
streamth::Json Object

Implements GameObject.

◆ setInBoard()

auto sys::Table::setInBoard ( bool setInBoard) ->void

Sets inBoard to either true or false.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setInputID()

auto sys::Table::setInputID ( int id) const->void

Updates the filter in the selector in the scene to a new value.

Parameters
idThe new ID to be set

◆ systemShowMenu()

auto sys::Table::systemShowMenu ( ) ->void
overridevirtual

Specific systems should override this function to show their specific menu for the system.

Reimplemented from System.

◆ undoLastPlayedCard()

auto sys::Table::undoLastPlayedCard ( ) const->void

Returns the last played card on the board to the current players hand, and decrements cardsPlayedThisTurn.

Here is the call graph for this function:

◆ unHighlightPlayedCards()

auto sys::Table::unHighlightPlayedCards ( ) const->void

Removes the highlighting effect of the cards that were played this turn.

◆ unpauseCurrentPlayerTimer()

auto sys::Table::unpauseCurrentPlayerTimer ( ) const->void

Pauses the timer for the current player.

Here is the caller graph for this function:

◆ updateCardsInDeckText()

auto sys::Table::updateCardsInDeckText ( ) const->void
private

Updates the text on screen to be the size of the Deck.

Here is the caller graph for this function:

◆ updateCardsPlayedText()

auto sys::Table::updateCardsPlayedText ( ) ->void
private

Sets the text on screen to match the "numberOfCardsPlayedThisTurn" variable.

Here is the call graph for this function:

◆ updateHandPopText()

auto sys::Table::updateHandPopText ( HandRating::HandType typeOfHand,
int amount )->void

Automatically adds and adjusts player positions according to the count given in PlayerCountScene.

Here is the call graph for this function:

◆ updatePlayerScoreText()

auto sys::Table::updatePlayerScoreText ( int playerNumber) ->void
private

Updates the text displayed for a players score.

Should be called every time score changes

Parameters
playerNumberThe player whose score you want to update

◆ updateScoreText()

auto sys::Table::updateScoreText ( int newScore) ->void

Updates the current player's score text, but doesn't actually change the value.

Intended for score calculator.

◆ PlayerTurn

friend class PlayerTurn
friend

Member Data Documentation

◆ board

Board* sys::Table::board
private

We cache the board so we don't need to get it all the time.

◆ deck

Deck* sys::Table::deck
private

We cache the deck so we don't need to get it all the time.

◆ filterDisabled

bool sys::Table::filterDisabled = false
private

Bool that keeps track of the filter for the selector is disabled.

◆ gameRules

GameRules* sys::Table::gameRules
private

Ruleset to follow for things like cards in hand, size of board, etc.

◆ inBoard

bool sys::Table::inBoard = false
private

Bool that keeps track of if the player is in board. Used by score calculator.

◆ inputDisabled

bool sys::Table::inputDisabled = false
private

Bool that keeps track of if the table and selector should receive input.

Primarily used to see if input should be enabled when unpausing

◆ lastSelectedTile

Entity* sys::Table::lastSelectedTile
private

Tracker of the last selected board tile, so the player doesn't start in the bottom left every time.

◆ players

std::vector<Player*> sys::Table::players
private

We cache the players so we don't need to get it all the time.

◆ playerTurn

PlayerTurn* sys::Table::playerTurn = nullptr
private

A cache of PlayerTurn so we can call its functions.

◆ scoring

Scoring* sys::Table::scoring = nullptr
private

A cache of Scoring so we can call its functions.

◆ selector

Entity* sys::Table::selector
private

We cache the Selector so we don't need to get it all the time.


The documentation for this class was generated from the following files:
  • /home/egrazil/sites/Brunot/The House/source/Gameplay/Systems/Table.h
  • /home/egrazil/sites/Brunot/The House/source/Gameplay/Systems/Table.cpp