R-TYPE
Health.hpp
Go to the documentation of this file.
1 #ifndef _HEALTH
2 #define _HEALTH
3 
4 #include "IComp.hpp"
5 
6 namespace ECS {
7 
8 class Health : public IComp {
9 public:
10  explicit Health(int life) noexcept;
11  Health(const Health& health) noexcept;
12  explicit Health(Health&&) noexcept = delete;
13  ~Health() noexcept override = default;
14 
15  Health& operator=(const Health&) const noexcept = delete;
16  Health& operator=(Health&&) const noexcept = delete;
17 
18  [[nodiscard]] int getHealth() const noexcept;
19  [[nodiscard]] int getMaxHealth() const noexcept;
20  void addHealth(int const healthToAdd) noexcept;
21  void removeHealth(int const healthToRemove) noexcept;
22  void setHealth(int const healthToSet) noexcept;
23 
24 private:
25  int _maxHealth;
26  int _health;
27 };
28 
29 };
30 
31 #endif
Definition: Health.hpp:8
int getMaxHealth() const noexcept
Definition: Health.cpp:38
void removeHealth(int const healthToRemove) noexcept
Definition: Health.cpp:66
void setHealth(int const healthToSet) noexcept
Definition: Health.cpp:45
Health(Health &&) noexcept=delete
void addHealth(int const healthToAdd) noexcept
Definition: Health.cpp:53
int getHealth() const noexcept
Definition: Health.cpp:31
Health(int life) noexcept
Definition: Health.cpp:9
Definition: IComp.hpp:7
Definition: ComponentManager.hpp:14