Weapon.hpp
Go to the documentation of this file.
1 // Copyright (c) 2019 Chris Ohk, Youngjoong Kim, SeungHyun Jeon
2 
3 // We are making my contributions/submissions to this project solely in our
4 // personal capacity and are not conveying any rights to any intellectual
5 // property of any third parties.
6 
7 #ifndef ROSETTASTONE_WEAPON_HPP
8 #define ROSETTASTONE_WEAPON_HPP
9 
11 
12 namespace RosettaStone
13 {
21 class Weapon : public Entity
22 {
23  public:
25  Weapon() = default;
26 
30  Weapon(Player& _owner, Card& _card);
31 
33  virtual ~Weapon() = default;
34 
36  Weapon(const Weapon& weapon) = default;
37 
39  Weapon(Weapon&& weapon) = default;
40 
42  Weapon& operator=(const Weapon& weapon) = default;
43 
45  Weapon& operator=(Weapon&& weapon) = default;
46 
48  void Destroy() override;
49 
50  std::size_t attack = 0;
51  std::size_t durability = 0;
52 };
53 } // namespace RosettaStone
54 
55 #endif // ROSETTASTONE_WEAPON_HPP
std::size_t durability
Definition: Weapon.hpp:51
virtual ~Weapon()=default
Default destructor.
void Destroy() override
Destroys weapon.
Weapon class.
Definition: Weapon.hpp:21
Weapon & operator=(const Weapon &weapon)=default
Default copy assignment operator.
Card class.
Definition: Card.hpp:27
Abstract entity structure that stores card data.
Definition: Entity.hpp:28
Weapon()=default
Default constructor.
Player class.
Definition: Player.hpp:33
Definition: AccountInfo.hpp:14
std::size_t attack
Definition: Weapon.hpp:50