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

This commit is contained in:
Clément Le Bihan
2021-06-11 16:43:54 +02:00
4 changed files with 25 additions and 3 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.
+17 -3
View File
@@ -106,9 +106,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))
@@ -117,7 +133,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))
@@ -126,7 +141,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))
@@ -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"
@@ -39,6 +40,13 @@ namespace BBM
{
if (count <= 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, count](WAL::Wal &wal) {
for (auto &[entity, pos, _] : wal.getScene()->view<PositionComponent, TagComponent<Blowable>>()) {
if (pos.position.round() == position) {