Update speedup bonus & fixing one bug (double bonus/...)

This commit is contained in:
EternalRat
2021-06-08 20:37:10 +02:00
parent 3009e34ac3
commit 58bbd1fb93
5 changed files with 17 additions and 7 deletions
+13 -2
View File
@@ -3,6 +3,7 @@
//
#include <Component/Collision/CollisionComponent.hpp>
#include <Component/Controllable/ControllableComponent.hpp>
#include "Component/Movable/MovableComponent.hpp"
#include "Bonus.hpp"
#include "Component/BombHolder/BombHolderComponent.hpp"
@@ -10,6 +11,8 @@
namespace BBM {
void Bonus::BombUpBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis)
{
if (bonus.shouldDelete())
return;
if (player.hasComponent<BombHolderComponent>()) {
auto &bombHolder = player.getComponent<BombHolderComponent>();
bombHolder.maxBombCount++;
@@ -18,6 +21,8 @@ namespace BBM {
void Bonus::DamageIncreasedBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis)
{
if (bonus.shouldDelete())
return;
if (player.hasComponent<BombHolderComponent>()) {
auto &bombHolder = player.getComponent<BombHolderComponent>();
bombHolder.damage++;
@@ -26,6 +31,8 @@ namespace BBM {
void Bonus::ExplosionRangeBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis)
{
if (bonus.shouldDelete())
return;
if (player.hasComponent<BombHolderComponent>()) {
auto &bombHolder = player.getComponent<BombHolderComponent>();
bombHolder.explosionRadius++;
@@ -34,14 +41,18 @@ namespace BBM {
void Bonus::SpeedUpBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis)
{
if (bonus.shouldDelete())
return;
if (!player.hasComponent<MovableComponent>())
return;
auto &movable = player.getComponent<MovableComponent>();
movable.addForce(Vector3f(1, 0, 1));
auto &controllable = player.getComponent<ControllableComponent>();
controllable.speed += 0.02f;
}
void Bonus::IgnoreWallsBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis)
{
if (bonus.shouldDelete())
return;
if (player.hasComponent<BombHolderComponent>()) {
auto &bombHolder = player.getComponent<BombHolderComponent>();
std::cout << "Explosion is supposed to pass through walls here" << std::endl;