Files
2021-06-16 10:54:32 +02:00

44 lines
1.5 KiB
C++

//
// Created by HENRY Benjamin on 02/06/2021.
// Edited by AUGIER Tom on 02/06/2021.
//
#pragma once
#include "Entity/Entity.hpp"
#include "Component/Collision/CollisionComponent.hpp"
namespace BBM {
class Bonus {
public:
//! @param bonus bonus
//! @param player the entity on which the effect will be applied
//! @brief Apply bonus effect that allows players to carry one more bomb than before
static void BombUpBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis);
//! @param bonus bonus
//! @param player the entity on which the effect will be applied
//! @brief Apply bonus effect that expend the explosion range of the bomb
static void ExplosionRangeBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis);
//! @param bonus bonus
//! @param player the entity on which the effect will be applied
//! @brief Apply bonus effect that allows to run faster
static void SpeedUpBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis);
//! @param bonus bonus
//! @param player the entity on which the effect will be applied
//! @brief Apply bonus effect that allows to pass trough breakbable walls
static void NoClipBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis);
enum BonusType {
NOTHING,
BOMBSTOCK,
SPEEDUP,
EXPLOSIONINC,
NOCLIP
};
static BonusType getRandomBonusType();
};
}