RosettaStone::Hero Class Reference
#include <Rosetta/Models/Hero.hpp>
Inheritance diagram for RosettaStone::Hero:

Public Member Functions | |
Hero ()=default | |
Default constructor. More... | |
Hero (Player &_owner, Card &_card) | |
~Hero () | |
Default destructor. More... | |
Hero (const Hero &hero)=delete | |
Deleted copy constructor. More... | |
Hero (Hero &&hero)=delete | |
Deleted move constructor. More... | |
Hero & | operator= (const Hero &hero)=delete |
Copy assignment operator. More... | |
Hero & | operator= (Hero &&hero)=delete |
Move assignment operator. More... | |
void | Destroy () override |
Destroys hero. More... | |
void | AddWeapon (Weapon &_weapon) |
void | RemoveWeapon () |
Removes weapon from hero. More... | |
bool | HasWeapon () const |
size_t | GetAttack () const override |
![]() | |
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... | |
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) |
Public Attributes | |
HeroPower * | heroPower = nullptr |
Weapon * | weapon = nullptr |
std::size_t | fatigue = 0 |
![]() | |
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 | |
![]() | |
static std::vector< Character * > | GetValidCombatTargets (Player &opponent) |
![]() | |
static Entity * | GetFromCard (Player &player, Card &&card) |
![]() | |
Player * | m_owner = nullptr |
std::map< GameTag, int > | m_gameTags |
Detailed Description
Hero class.
This class inherits from Character structure. Also, it stores weapon that can attack to enemy.
Constructor & Destructor Documentation
◆ Hero() [1/4]
|
default |
Default constructor.
◆ Hero() [2/4]
Constructs hero with given _owner
and _card
.
- Parameters
-
_owner An owner of the card. _card A reference to the card.
◆ ~Hero()
RosettaStone::Hero::~Hero | ( | ) |
Default destructor.
◆ Hero() [3/4]
|
delete |
Deleted copy constructor.
◆ Hero() [4/4]
|
delete |
Deleted move constructor.
Member Function Documentation
◆ AddWeapon()
void RosettaStone::Hero::AddWeapon | ( | Weapon & | _weapon | ) |
Adds weapon to hero.
- Parameters
-
_weapon A weapon card to add.
◆ Destroy()
|
overridevirtual |
Destroys hero.
Reimplemented from RosettaStone::Character.
◆ GetAttack()
|
overridevirtual |
Returns the value of attack.
- Returns
- The value of attack.
Reimplemented from RosettaStone::Character.
◆ HasWeapon()
bool RosettaStone::Hero::HasWeapon | ( | ) | const |
Returns the presence of weapon.
- Returns
- true if hero has weapon, and false otherwise.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ RemoveWeapon()
void RosettaStone::Hero::RemoveWeapon | ( | ) |
Removes weapon from hero.
Member Data Documentation
◆ fatigue
std::size_t RosettaStone::Hero::fatigue = 0 |
◆ heroPower
HeroPower* RosettaStone::Hero::heroPower = nullptr |
◆ weapon
Weapon* RosettaStone::Hero::weapon = nullptr |
The documentation for this class was generated from the following file:
- Rosetta/Models/Hero.hpp