RosettaStone::Hero Class Reference

Hero class. More...

#include <Rosetta/Models/Hero.hpp>

Inheritance diagram for RosettaStone::Hero:
RosettaStone::Character RosettaStone::Entity

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...
 
Herooperator= (const Hero &hero)=delete
 Copy assignment operator. More...
 
Herooperator= (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
 
- Public Member Functions inherited from RosettaStone::Character
 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...
 
Characteroperator= (const Character &c)=default
 Default copy assignment operator. More...
 
Characteroperator= (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)
 
- Public Member Functions inherited from RosettaStone::Entity
 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...
 
Entityoperator= (const Entity &ent)
 Copy assignment operator. More...
 
Entityoperator= (Entity &&ent) noexcept
 Move assignment operator. More...
 
PlayerGetOwner () const
 
void SetOwner (Player &owner)
 
int GetGameTag (GameTag tag) const
 
virtual void SetGameTag (GameTag tag, int value)
 

Public Attributes

HeroPowerheroPower = nullptr
 
Weaponweapon = nullptr
 
std::size_t fatigue = 0
 
- Public Attributes inherited from RosettaStone::Character
std::size_t numAttacked = 0
 
std::size_t attack = 0
 
int health = 0
 
int maxHealth = 0
 
- Public Attributes inherited from RosettaStone::Entity
Card card
 
std::size_t id = 0
 
bool isDestroyed = false
 

Additional Inherited Members

- Static Public Member Functions inherited from RosettaStone::Character
static std::vector< Character * > GetValidCombatTargets (Player &opponent)
 
- Static Public Member Functions inherited from RosettaStone::Entity
static EntityGetFromCard (Player &player, Card &&card)
 
- Protected Attributes inherited from RosettaStone::Entity
Playerm_owner = nullptr
 
std::map< GameTag, intm_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]

RosettaStone::Hero::Hero ( )
default

Default constructor.

◆ Hero() [2/4]

RosettaStone::Hero::Hero ( Player _owner,
Card _card 
)

Constructs hero with given _owner and _card.

Parameters
_ownerAn owner of the card.
_cardA reference to the card.

◆ ~Hero()

RosettaStone::Hero::~Hero ( )

Default destructor.

◆ Hero() [3/4]

RosettaStone::Hero::Hero ( const Hero hero)
delete

Deleted copy constructor.

◆ Hero() [4/4]

RosettaStone::Hero::Hero ( Hero &&  hero)
delete

Deleted move constructor.

Member Function Documentation

◆ AddWeapon()

void RosettaStone::Hero::AddWeapon ( Weapon _weapon)

Adds weapon to hero.

Parameters
_weaponA weapon card to add.

◆ Destroy()

void RosettaStone::Hero::Destroy ( )
overridevirtual

Destroys hero.

Reimplemented from RosettaStone::Character.

◆ GetAttack()

size_t RosettaStone::Hero::GetAttack ( ) const
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]

Hero& RosettaStone::Hero::operator= ( const Hero hero)
delete

Copy assignment operator.

◆ operator=() [2/2]

Hero& RosettaStone::Hero::operator= ( Hero &&  hero)
delete

Move assignment operator.

◆ 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: