RosettaStone::Weapon Class Reference

Weapon class. More...

#include <Rosetta/Models/Weapon.hpp>

Inheritance diagram for RosettaStone::Weapon:
RosettaStone::Entity

Public Member Functions

 Weapon ()=default
 Default constructor. More...
 
 Weapon (Player &_owner, Card &_card)
 
virtual ~Weapon ()=default
 Default destructor. More...
 
 Weapon (const Weapon &weapon)=default
 Default copy constructor. More...
 
 Weapon (Weapon &&weapon)=default
 Default move constructor. More...
 
Weaponoperator= (const Weapon &weapon)=default
 Default copy assignment operator. More...
 
Weaponoperator= (Weapon &&weapon)=default
 Default move assignment operator. More...
 
void Destroy () override
 Destroys weapon. More...
 
- 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

std::size_t attack = 0
 
std::size_t durability = 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::Entity
static EntityGetFromCard (Player &player, Card &&card)
 
- Protected Attributes inherited from RosettaStone::Entity
Playerm_owner = nullptr
 
std::map< GameTag, intm_gameTags
 

Detailed Description

Weapon class.

This class inherits from Entity class. Also, it stores durability that shows the number of times you can use that weapon before it is destroyed.

Constructor & Destructor Documentation

◆ Weapon() [1/4]

RosettaStone::Weapon::Weapon ( )
default

Default constructor.

◆ Weapon() [2/4]

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

Constructs weapon with given _owner and _card.

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

◆ ~Weapon()

virtual RosettaStone::Weapon::~Weapon ( )
virtualdefault

Default destructor.

◆ Weapon() [3/4]

RosettaStone::Weapon::Weapon ( const Weapon weapon)
default

Default copy constructor.

◆ Weapon() [4/4]

RosettaStone::Weapon::Weapon ( Weapon &&  weapon)
default

Default move constructor.

Member Function Documentation

◆ Destroy()

void RosettaStone::Weapon::Destroy ( )
overridevirtual

Destroys weapon.

Reimplemented from RosettaStone::Entity.

◆ operator=() [1/2]

Weapon& RosettaStone::Weapon::operator= ( const Weapon weapon)
default

Default copy assignment operator.

◆ operator=() [2/2]

Weapon& RosettaStone::Weapon::operator= ( Weapon &&  weapon)
default

Default move assignment operator.

Member Data Documentation

◆ attack

std::size_t RosettaStone::Weapon::attack = 0

◆ durability

std::size_t RosettaStone::Weapon::durability = 0

The documentation for this class was generated from the following file: