Merge branch 'develop' of github.com:AnonymusRaccoon/Bomberman into making_bonuses_blowable_and_fix_bomb

# Conflicts:
#	sources/System/BombHolder/BombHolderSystem.cpp
This commit is contained in:
Clément Le Bihan
2021-06-11 16:53:02 +02:00
5 changed files with 29 additions and 7 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

View File

@@ -109,9 +109,25 @@ namespace BBM
static const std::string unbreakableObj = unbreakableWallPath + objExtension;
static const std::string unbreakablePnj = unbreakableWallPath + imageExtension;
for (int i = 0; i < height; i++) {
scene->addEntity("Bomb stopper")
.addComponent<PositionComponent>(-1, 0, i)
.addComponent<TagComponent<Blowable>>();
scene->addEntity("Bomb stopper")
.addComponent<PositionComponent>(width + 1, 0, i)
.addComponent<TagComponent<Blowable>>();
}
for (int i = 0; i < width; i++) {
scene->addEntity("Bomb stopper")
.addComponent<PositionComponent>(i, 0, -1)
.addComponent<TagComponent<Blowable>>();
scene->addEntity("Bomb stopper")
.addComponent<PositionComponent>(i, 0, height + 1)
.addComponent<TagComponent<Blowable>>();
}
scene->addEntity("Bottom Wall")
.addComponent<PositionComponent>(Vector3f((width + 1) / 2, 0, -1))
.addComponent<TagComponent<Blowable>>()
.addComponent<CollisionComponent>(
WAL::Callback<WAL::Entity &, const WAL::Entity &, CollisionComponent::CollidedAxis>(),
&MapGenerator::wallCollided, Vector3f(-(width + 1) / 2 , 0.25, 0.25), Vector3f(width + 1, 2, 0.75))
@@ -120,7 +136,6 @@ namespace BBM
RAY::Vector3(width + 3, 1, 1));
scene->addEntity("Upper Wall")
.addComponent<PositionComponent>(Vector3f((width + 1) / 2, 0, height + 1))
.addComponent<TagComponent<Blowable>>()
.addComponent<CollisionComponent>(
WAL::Callback<WAL::Entity &, const WAL::Entity &, CollisionComponent::CollidedAxis>(),
&MapGenerator::wallCollided, Vector3f(-(width + 1) / 2 , 0.25, 0.25), Vector3f(width + 1, 2, 0.75))
@@ -129,7 +144,6 @@ namespace BBM
RAY::Vector3(width + 3, 1, 1));
scene->addEntity("Left Wall")
.addComponent<PositionComponent>(Vector3f(width + 1, 0, height / 2))
.addComponent<TagComponent<Blowable>>()
.addComponent<CollisionComponent>(
WAL::Callback<WAL::Entity &, const WAL::Entity &, CollisionComponent::CollidedAxis>(),
&MapGenerator::wallCollided, Vector3f(0.25, 0.25, -(height + 1) / 2 ), Vector3f(0.75, 2, height + 1))

View File

@@ -2,6 +2,7 @@
// Created by Zoe Roux on 5/31/21.
//
#include <Component/Animation/AnimationsComponent.hpp>
#include <Component/Bomb/BasicBombComponent.hpp>
#include "Component/Timer/TimerComponent.hpp"
#include "System/Event/EventSystem.hpp"
@@ -38,6 +39,13 @@ namespace BBM
{
if (radiusToDo <= 0)
return;
wal.getScene()->scheduleNewEntity("explosion")
.addComponent<PositionComponent>(position)
.addComponent<TimerComponent>(1s, [](WAL::Entity &explosion, WAL::Wal &wal) {
explosion.scheduleDeletion();
})
.addComponent<Drawable3DComponent, RAY3D::Model>("assets/bombs/explosion/explosion.glb", false,
std::make_pair(MAP_DIFFUSE, "assets/bombs/explosion/blast.png"));
wal.getSystem<EventSystem>().dispatchEvent([position, radiusToDo, expansionDirections](WAL::Wal &wal) {
for (auto &[entity, pos, _] : wal.getScene()->view<PositionComponent, TagComponent<Blowable>>()) {
if (pos.position.round() == position) {

View File

@@ -33,9 +33,9 @@ namespace BBM
key.second = gamepad.isPressed(key.first);
controllable.move.x = gamepad.getAxisValue(gamepadComponent.LeftStickX) * -1;
controllable.move.y = gamepad.getAxisValue(gamepadComponent.LeftStickY) * -1;
controllable.move.x -= gamepad.isDown(gamepadComponent.keyRight);
controllable.move.x += gamepad.isDown(gamepadComponent.keyLeft);
controllable.move.y += gamepad.isDown(gamepadComponent.keyUp);
controllable.move.y -= gamepad.isDown(gamepadComponent.keyDown);
controllable.move.x -= static_cast<float>(gamepad.isDown(gamepadComponent.keyRight));
controllable.move.x += static_cast<float>(gamepad.isDown(gamepadComponent.keyLeft));
controllable.move.y += static_cast<float>(gamepad.isDown(gamepadComponent.keyUp));
controllable.move.y -= static_cast<float>(gamepad.isDown(gamepadComponent.keyDown));
}
}