|
Brunot
|
#include <PlayerTurn.h>
Public Member Functions | |
| PlayerTurn () | |
| ~PlayerTurn () override=default | |
| PlayerTurn (const PlayerTurn &other)=default | |
| PlayerTurn (PlayerTurn &&other) noexcept=default | |
| auto | operator= (const PlayerTurn &other) -> PlayerTurn & |
| auto | operator= (PlayerTurn &&other) noexcept -> PlayerTurn &=default |
| auto | clone () const -> std::unique_ptr< GameObject > override |
| makes a copy a GameObject even if it's held polymorphically | |
| auto | onUpdate (float dt) -> void override |
| called once every frame. | |
| auto | systemShowMenu () -> void override |
| Specific systems should override this function to show their specific menu for the system. | |
| 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 | moveTurnForward () -> void |
| Scores the board, resets the "playedThisTurn" flag, and gives next player control. | |
| auto | movePlayerCards (float direction, float cardDelay) -> void |
| +1 for the direction will move player cards up and highlight them, -1 for the direction will move player cards down and become gray | |
| auto | cardSelected (const Message *message) -> void |
| Moves selected card to be placed on board. | |
| auto | cardDeselected () -> void |
| Brings previously selected card back to hand. | |
| auto | cardPlayedOnBoard (const Message *message) -> void |
| Checks if card placement was valid. | |
| auto | updatedCardsPlayedThisTurn () -> void |
| Sets "playedThisTurn" for cards played this turn to false, then empties the vector Typically called at the end of a players turn. | |
| auto | playScoredSound () const -> void |
| Plays a sound effect when scoring. | |
| auto | resetScores () -> void |
| Sets all scores to 0. | |
| auto | generatePlayerScoresData () const -> Stream |
| Resets all caches and values for table. | |
| auto | resetTable () -> void |
| Resets all caches and values for table. | |
| auto | getWinningPlayer () const -> Player * |
| Gets the current winning player based off score. | |
| auto | getCurrentPlayerNumber () const -> int |
| Gets who the current player should be based on the turn. | |
| auto | getCurrentPlayer () const -> Player * |
| Gets who the current player should be based on the turn. | |
| auto | arePlayersEmpty () const -> bool |
| Checks if all players have empty hands. | |
| auto | goToWinScreen () const -> void |
| Moves the game to the win screen. | |
| auto | setPlayerInputIDs (const std::vector< int > &IDs) -> void |
| Sets the IDs for all the players that will be participating in the game, in turn order. | |
| auto | getPlayerInputIDs () const -> const std::vector< int > & |
| Gets all the IDs of the players participating in the game. | |
| auto | addScore () -> void |
| A cheat code that adds 100 to a player's score. | |
| auto | drawCard () -> void |
| A cheat code that manually draws a card to a player's hand. | |
| 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 | destroyed () const -> bool |
| auto | getUUID () const -> gobj::UUID |
| 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 | |
Static Public Member Functions | |
| static auto | getEnum () -> Type |
| function required by all systems | |
Private Attributes | |
| Table * | table = nullptr |
| A cache of Table so we can call its functions. | |
| Card * | lastSelectedCard = nullptr |
| Tracker of the last selected card, so we know what we're playing. | |
| std::vector< Card * > | cardsPlayedThisTurn |
| Vector of all cards that have been played, primarily used for updating the "playedThisTurn" variable inside of Card. | |
| int | playerCardsPlaced = 0 |
| Keeps track of how many cards have been placed to see if limit has been hit. | |
| std::vector< int > | playerScores = {0} |
| Scores for each player for the current game. | |
| GameRules | gameRules |
| Ruleset to follow for things like cards in hand, size of board, etc. | |
| int | turn = 0 |
| Tracker of how many times a player has played their cards on the board. Starts at 0. | |
| std::vector< int > | playerInputIDs = {0} |
| Vector used to track which input device IDs correspond to what player. | |
Friends | |
| class | Table |
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 , Particles = 1050 , ActionList = 1100 , DebugDraw = 1150 , ColliderSystem = 1300 , Options = 1400 , TestRunner = 64'000 } |
| Public Attributes inherited from GameObject | |
| friend | Entity |
| friend | Node |
| friend | ChildrenHandeler |
| 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(). | |
| auto | getGameObjectJson () const -> json |
| Used for serializing GameObjects. | |
| auto | setGameObjectJson (const json &stream) -> void |
| used for deserializing GameObjects | |
| 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. | |
| sys::PlayerTurn::PlayerTurn | ( | ) |
|
overridedefault |
|
default |
|
defaultnoexcept |
| auto sys::PlayerTurn::addScore | ( | ) | ->void |
A cheat code that adds 100 to a player's score.
| auto sys::PlayerTurn::arePlayersEmpty | ( | ) | const->bool |
Checks if all players have empty hands.
| auto sys::PlayerTurn::cardDeselected | ( | ) | ->void |
Brings previously selected card back to hand.
| auto sys::PlayerTurn::cardPlayedOnBoard | ( | const Message * | message | ) | ->void |
Checks if card placement was valid.
| auto sys::PlayerTurn::cardSelected | ( | const Message * | message | ) | ->void |
Moves selected card to be placed on board.
|
inlineoverridevirtual |
makes a copy a GameObject even if it's held polymorphically
Implements GameObject.
| auto sys::PlayerTurn::drawCard | ( | ) | ->void |
A cheat code that manually draws a card to a player's hand.
|
inlineoverridevirtual |
currently unused, but intended to but was assumed to be necessary for a proper ImGui editor
Implements GameObject.
| auto sys::PlayerTurn::generatePlayerScoresData | ( | ) | const->Stream |
Resets all caches and values for table.
| auto sys::PlayerTurn::getCurrentPlayer | ( | ) | const->Player * |
Gets who the current player should be based on the turn.
| auto sys::PlayerTurn::getCurrentPlayerNumber | ( | ) | const->int |
Gets who the current player should be based on the turn.
|
inlinestatic |
function required by all systems
| auto sys::PlayerTurn::getPlayerInputIDs | ( | ) | const->conststd::vector< int > & |
Gets all the IDs of the players participating in the game.
| auto sys::PlayerTurn::getWinningPlayer | ( | ) | const->Player * |
Gets the current winning player based off score.
| auto sys::PlayerTurn::goToWinScreen | ( | ) | const->void |
Moves the game to the win screen.
Called when all cards have been played/cheat code is used
|
overridevirtual |
Implementations will load the state of a GameObject from a th::Json Object.
Unimplemented in GameObject
| stream | th::Json Object |
Implements GameObject.
| auto sys::PlayerTurn::movePlayerCards | ( | float | direction, |
| float | cardDelay )->void |
+1 for the direction will move player cards up and highlight them, -1 for the direction will move player cards down and become gray
| auto sys::PlayerTurn::moveTurnForward | ( | ) | ->void |
Scores the board, resets the "playedThisTurn" flag, and gives next player control.
|
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.
|
overridevirtual |
Hook that is called right before a scene is unloaded To receive the hook, simply override the function in your class.
| sceneName | the name of the root node of the old scene |
Reimplemented from GameObject.
|
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.
| sceneName | the name of the root node of the new scene |
Reimplemented from GameObject.
|
overridevirtual |
called once every frame.
Generally used for timers, movement, condition checks, etc. Unimplemented in GameObject
| dt | the time in seconds that has elapsed |
Implements GameObject.
| auto sys::PlayerTurn::operator= | ( | const PlayerTurn & | other | ) | ->PlayerTurn & |
|
defaultnoexcept |
| auto sys::PlayerTurn::playScoredSound | ( | ) | const->void |
Plays a sound effect when scoring.
| auto sys::PlayerTurn::resetScores | ( | ) | ->void |
Sets all scores to 0.
| auto sys::PlayerTurn::resetTable | ( | ) | ->void |
Resets all caches and values for table.
|
overridevirtual |
Implementations will load the state of a GameObject to a th::Json object.
Unimplemented in GameObject
| stream | th::Json Object |
Implements GameObject.
| auto sys::PlayerTurn::setPlayerInputIDs | ( | const std::vector< int > & | IDs | ) | ->void |
Sets the IDs for all the players that will be participating in the game, in turn order.
| IDs | The input device IDs you want to set |
|
overridevirtual |
Specific systems should override this function to show their specific menu for the system.
Reimplemented from System.
| auto sys::PlayerTurn::updatedCardsPlayedThisTurn | ( | ) | ->void |
Sets "playedThisTurn" for cards played this turn to false, then empties the vector Typically called at the end of a players turn.
|
friend |
|
private |
Vector of all cards that have been played, primarily used for updating the "playedThisTurn" variable inside of Card.
|
private |
Ruleset to follow for things like cards in hand, size of board, etc.
|
private |
Tracker of the last selected card, so we know what we're playing.
|
private |
Keeps track of how many cards have been placed to see if limit has been hit.
|
private |
Vector used to track which input device IDs correspond to what player.
|
private |
Scores for each player for the current game.
|
private |
Tracker of how many times a player has played their cards on the board. Starts at 0.