Abstract character class that stores hero and minion data. More...
#include <Rosetta/Models/Character.hpp>

Public Member Functions | |
Character ()=default | |
Default constructor. More... | |
Character (Player &_owner, Card &_card) | |
virtual | ~Character ()=default |
Default destructor. More... | |
Character (const Character &c)=default | |
Default copy constructor. More... | |
Character (Character &&c)=default | |
Default move constructor. More... | |
Character & | operator= (const Character &c)=default |
Default copy assignment operator. More... | |
Character & | operator= (Character &&c)=default |
Default move assignment operator. More... | |
virtual size_t | GetAttack () const |
void | Destroy () override |
Destroys character. More... | |
bool | CanAttack () const |
bool | IsValidCombatTarget (Player &opponent, Character *target) const |
size_t | TakeDamage (Character &source, std::size_t damage) |
void | TakeHeal (Character &source, std::size_t heal) |
![]() | |
Entity ()=default | |
Default constructor. More... | |
Entity (Player &_owner, Card &_card) | |
virtual | ~Entity () |
Destructor. More... | |
Entity (const Entity &ent) | |
Copy constructor. More... | |
Entity (Entity &&ent) noexcept | |
Move constructor. More... | |
Entity & | operator= (const Entity &ent) |
Copy assignment operator. More... | |
Entity & | operator= (Entity &&ent) noexcept |
Move assignment operator. More... | |
Player & | GetOwner () const |
void | SetOwner (Player &owner) |
int | GetGameTag (GameTag tag) const |
virtual void | SetGameTag (GameTag tag, int value) |
Static Public Member Functions | |
static std::vector< Character * > | GetValidCombatTargets (Player &opponent) |
![]() | |
static Entity * | GetFromCard (Player &player, Card &&card) |
Public Attributes | |
std::size_t | numAttacked = 0 |
std::size_t | attack = 0 |
int | health = 0 |
int | maxHealth = 0 |
![]() | |
Card | card |
std::size_t | id = 0 |
bool | isDestroyed = false |
Additional Inherited Members | |
![]() | |
Player * | m_owner = nullptr |
std::map< GameTag, int > | m_gameTags |
Detailed Description
Abstract character class that stores hero and minion data.
This class inherits from Entity class. Also, it stores some attributes that only characters have such as attack and health.
Constructor & Destructor Documentation
◆ Character() [1/4]
|
default |
Default constructor.
◆ Character() [2/4]
Constructs character with given _owner
and _card
.
- Parameters
-
_owner An owner of the card. _card A reference to the card.
◆ ~Character()
|
virtualdefault |
Default destructor.
◆ Character() [3/4]
|
default |
Default copy constructor.
◆ Character() [4/4]
|
default |
Default move constructor.
Member Function Documentation
◆ CanAttack()
bool RosettaStone::Character::CanAttack | ( | ) | const |
Returns whether attack is possible.
- Returns
- Whether attack is possible.
◆ Destroy()
|
overridevirtual |
Destroys character.
Reimplemented from RosettaStone::Entity.
Reimplemented in RosettaStone::Hero, and RosettaStone::Minion.
◆ GetAttack()
|
virtual |
◆ GetValidCombatTargets()
|
static |
Returns a list of valid target in combat.
- Parameters
-
opponent The opponent player.
- Returns
- A list of pointer to valid target.
◆ IsValidCombatTarget()
Returns whether the target is valid in combat.
- Parameters
-
opponent The opponent player. target A pointer to the target.
- Returns
- true if the target is valid, and false otherwise.
◆ operator=() [1/2]
Default copy assignment operator.
◆ operator=() [2/2]
Default move assignment operator.
◆ TakeDamage()
size_t RosettaStone::Character::TakeDamage | ( | Character & | source, |
std::size_t | damage | ||
) |
Takes damage from a certain other entity.
- Parameters
-
source The character to take damage. damage The value of damage.
- Returns
- Final damage taking into account ability.
◆ TakeHeal()
void RosettaStone::Character::TakeHeal | ( | Character & | source, |
std::size_t | heal | ||
) |
Gets healed by a certain other entity.
- Parameters
-
source The character to get heal. heal The value of heal.
Member Data Documentation
◆ attack
std::size_t RosettaStone::Character::attack = 0 |
◆ health
int RosettaStone::Character::health = 0 |
◆ maxHealth
int RosettaStone::Character::maxHealth = 0 |
◆ numAttacked
std::size_t RosettaStone::Character::numAttacked = 0 |
The documentation for this class was generated from the following file:
- Rosetta/Models/Character.hpp