diff --git a/sources/Component/Controllable/ControllableComponent.hpp b/sources/Component/Controllable/ControllableComponent.hpp index f16de468..914683c5 100644 --- a/sources/Component/Controllable/ControllableComponent.hpp +++ b/sources/Component/Controllable/ControllableComponent.hpp @@ -37,8 +37,6 @@ namespace BBM bool bomb = false; //! @brief input value for pause bool pause = false; - //! @brief The speed applied to every controllable entities. - float speed = .15f; //! @brief The layout used for this controllable. Layout layout = NONE; diff --git a/sources/Component/Speed/SpeedComponent.hpp b/sources/Component/Speed/SpeedComponent.hpp index 3b2fc650..ced8ab3f 100644 --- a/sources/Component/Speed/SpeedComponent.hpp +++ b/sources/Component/Speed/SpeedComponent.hpp @@ -8,7 +8,7 @@ namespace BBM { - class SpeedComponent : WAL::Component + class SpeedComponent : public WAL::Component { public: //! @brief entity speed diff --git a/sources/Items/Bonus.cpp b/sources/Items/Bonus.cpp index c7f9049c..e7ca4fde 100644 --- a/sources/Items/Bonus.cpp +++ b/sources/Items/Bonus.cpp @@ -5,6 +5,7 @@ #include #include #include +#include "Component/Speed/SpeedComponent.hpp" #include #include "Component/Movable/MovableComponent.hpp" #include "Bonus.hpp" @@ -40,11 +41,11 @@ namespace BBM { { if (bonus.shouldDelete() || axis != CollisionComponent::CollidedAxis::ALL) return; - auto *controllable = player.tryGetComponent(); + auto *speed = player.tryGetComponent(); auto *playerBonus = player.tryGetComponent(); - if (!controllable || !playerBonus) + if (!speed || !playerBonus) return; - controllable->speed += 0.025f; + speed->speed += 0.025f; const_cast(bonus).scheduleDeletion(); } diff --git a/sources/System/Controllable/ControllableSystem.cpp b/sources/System/Controllable/ControllableSystem.cpp index 36e9815a..072397d0 100644 --- a/sources/System/Controllable/ControllableSystem.cpp +++ b/sources/System/Controllable/ControllableSystem.cpp @@ -6,6 +6,7 @@ #include "ControllableSystem.hpp" #include "Component/Movable/MovableComponent.hpp" #include "Component/Controllable/ControllableComponent.hpp" +#include "Component/Speed/SpeedComponent.hpp" #include "Component/Health/HealthComponent.hpp" #include "Entity/Entity.hpp" @@ -18,9 +19,10 @@ namespace BBM void ControllableSystem::onFixedUpdate(WAL::ViewEntity &entity) { auto &controllable = entity.get(); + auto &speed = entity.get(); auto &movable = entity.get(); auto health = entity->tryGetComponent(); - Vector2f move = controllable.move.normalized() * controllable.speed; + Vector2f move = controllable.move.normalized() * speed.speed; if (health && health->getHealthPoint() <= 0) return;