Fix documentation and remove friend keyword

Remove friend keyword and put variables in public instead
Fix documentation where the name of the component is not specified

Co-Authored-By: Benjamin HENRY <44569175+EternalRat@users.noreply.github.com>
This commit is contained in:
TrueBabyChaise
2021-05-21 15:11:03 +02:00
parent 54cb40aa0b
commit 80e9d674e9
6 changed files with 45 additions and 48 deletions
@@ -11,34 +11,35 @@
namespace BBM
{
class ControllableComponent : public WAL::Component
{
private:
float _moveX = 0;
float _moveZ = 0;
bool _jump = false;
bool _bomb = false;
bool _pause = false;
public:
{
public:
//! @brief input value for X axe
float moveX = 0;
//! @brief input value for Z axe
float moveZ = 0;
//! @brief input value for jump
bool jump = false;
//! @brief input value for bomb
bool bomb = false;
//! @brief input value for pause
bool pause = false;
//! @inherit
WAL::Component *clone(WAL::Entity &entity) const override;
//! @inherit
WAL::Component *clone(WAL::Entity &entity) const override;
//! @brief A component can't be instantiated, it should be derived.
explicit ControllableComponent(WAL::Entity &entity);
//! @brief A Controllable component can't be instantiated, it should be derived.
explicit ControllableComponent(WAL::Entity &entity);
//! @brief Constructor
ControllableComponent(WAL::Entity &entity, unsigned int maxBombCount);
//! @brief Constructor
ControllableComponent(WAL::Entity &entity, unsigned int maxBombCount);
//! @brief A component can't be instantiated, it should be derived.
ControllableComponent(const ControllableComponent &) = default;
//! @brief A Controllable component can't be instantiated, it should be derived.
ControllableComponent(const ControllableComponent &) = default;
//! @brief default destructor
~ControllableComponent() override = default;
//! @brief default destructor
~ControllableComponent() override = default;
//! @brief A component can't be assigned
ControllableComponent &operator=(const ControllableComponent &) = delete;
friend class KeyboardSystem;
friend class ControllableSystem;
//! @brief A Controllable omponent can't be assigned
ControllableComponent &operator=(const ControllableComponent &) = delete;
};
}
+2 -2
View File
@@ -36,8 +36,8 @@ namespace BBM
this->_healthPoint -= damage;
}
void HealthComponent::die(void)
unsigned int HealthComponent::getHealthPoint(void) const
{
this->_entity.setDisable(true);
return (this->_healthPoint);
}
}
+5 -7
View File
@@ -25,27 +25,25 @@ namespace BBM
//! @brief reduce health
void takeDmg(unsigned int damage);
//! @brief disable the entity
void die(void);
//! @brief return health point of the entity
unsigned int getHealthPoint(void) const;
//! @inherit
WAL::Component *clone(WAL::Entity &entity) const override;
//! @brief A component can't be instantiated, it should be derived.
//! @brief A Health component can't be instantiated, it should be derived.
explicit HealthComponent(WAL::Entity &entity);
//! @brief Constructor
HealthComponent(WAL::Entity &entity, unsigned int healthPoint);
//! @brief A component can't be instantiated, it should be derived.
//! @brief A Health component can't be instantiated, it should be derived.
HealthComponent(const HealthComponent &) = default;
//! @brief default destructor
~HealthComponent() override = default;
//! @brief A component can't be assigned
//! @brief A Health component can't be assigned
HealthComponent &operator=(const HealthComponent &) = delete;
friend class HealthSystem;
};
}
@@ -32,21 +32,19 @@ namespace BBM
//! @inherit
WAL::Component *clone(WAL::Entity &entity) const override;
//! @brief A component can't be instantiated, it should be derived.
//! @brief A Keyboard component can't be instantiated, it should be derived.
explicit KeyboardComponent(WAL::Entity &entity);
//! @brief Constructor
KeyboardComponent(WAL::Entity &entity, unsigned int maxBombCount);
//! @brief A component can't be instantiated, it should be derived.
//! @brief A Keyboard component can't be instantiated, it should be derived.
KeyboardComponent(const KeyboardComponent &) = default;
//! @brief default destructor
~KeyboardComponent() override = default;
//! @brief A component can't be assigned
//! @brief A Keyboard component can't be assigned
KeyboardComponent &operator=(const KeyboardComponent &) = delete;
friend class KeyboardSystem;
};
}
+2 -2
View File
@@ -19,7 +19,7 @@ namespace BBM
{
auto &health = entity.getComponent<HealthComponent>();
if (health._healthPoint == 0);
health.die();
if (health.getHealthPoint() == 0);
entity.setDisable(true);
}
}
+9 -9
View File
@@ -20,22 +20,22 @@ namespace BBM
auto &keyboard = entity.getComponent<KeyboardComponent>();
auto &controllable= entity.getComponent<ControllableComponent>();
static const std::map<int, bool> keyPressedMap = {
{keyboard.keyJump, controllable._jump},
{keyboard.keyBomb, controllable._bomb},
{keyboard.keyPause, controllable._pause}
{keyboard.keyJump, controllable.jump},
{keyboard.keyBomb, controllable.bomb},
{keyboard.keyPause, controllable.pause}
};
for (auto key : keyPressedMap)
key.second = RAY::IsKeyPressed(key.first);
controllable._moveX = 0;
controllable._moveZ = 0;
controllable.moveX = 0;
controllable.moveZ = 0;
if (RAY::IsKeyPressed(keyboard.keyRight))
controllable._moveX += 1;
controllable.moveX += 1;
if (RAY::IsKeyPressed(keyboard.keyLeft))
controllable._moveX -= 1;
controllable.moveX -= 1;
if (RAY::IsKeyPressed(keyboard.keyUp))
controllable._moveX += 1;
controllable.moveX += 1;
if (RAY::IsKeyPressed(keyboard.keyDown))
controllable._moveX -= 1;
controllable.moveX -= 1;
}
}