R-TYPE
Speed.hpp
Go to the documentation of this file.
1 #ifndef _SPEED
2 #define _SPEED
3 
4 #include "IComp.hpp"
5 
6 namespace ECS {
7 
8 class Speed : public IComp {
9 public:
10  explicit Speed(int maxSpeed) noexcept;
11  Speed(const Speed& speed) noexcept;
12  explicit Speed(Speed&&) noexcept = delete;
13  ~Speed() noexcept override = default;
14 
15  Speed& operator=(const Speed&) const noexcept = delete;
16  Speed& operator=(Speed&&) const noexcept = delete;
17 
18  [[nodiscard]] int getSpeed() const noexcept;
19  [[nodiscard]] int getMaxSpeed() const noexcept;
20  void addSpeed(int const speedToAdd) noexcept;
21  void removeSpeed(int const speedToRemove) noexcept;
22  void setSpeed(int const speedToSet) noexcept;
23  void setMaxSpeed(int const speedToSet) noexcept;
24 
25 private:
26  int _maxSpeed;
27  int _speed;
28 };
29 
30 };
31 
32 #endif
Definition: IComp.hpp:7
Definition: Speed.hpp:8
void addSpeed(int const speedToAdd) noexcept
Definition: Speed.cpp:59
void setSpeed(int const speedToSet) noexcept
Definition: Speed.cpp:51
int getSpeed() const noexcept
Definition: Speed.cpp:30
void setMaxSpeed(int const speedToSet) noexcept
Definition: Speed.cpp:37
Speed(int maxSpeed) noexcept
Definition: Speed.cpp:8
Speed(Speed &&) noexcept=delete
int getMaxSpeed() const noexcept
Definition: Speed.cpp:44
void removeSpeed(int const speedToRemove) noexcept
Definition: Speed.cpp:73
Definition: ComponentManager.hpp:14