From 2b70d4883fc40a285b001ef8489e5f02d505b752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Le=20Bihan?= Date: Tue, 15 Jun 2021 00:30:47 +0200 Subject: [PATCH 1/4] bombs are exploding in chain successfully adding BlowablePass tag --- sources/Component/Tag/TagComponent.hpp | 3 +++ sources/System/BombHolder/BombHolderSystem.cpp | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/sources/Component/Tag/TagComponent.hpp b/sources/Component/Tag/TagComponent.hpp index 00fa27d5..c4b3b9c1 100644 --- a/sources/Component/Tag/TagComponent.hpp +++ b/sources/Component/Tag/TagComponent.hpp @@ -50,5 +50,8 @@ namespace BBM TagComponent &operator=(const TagComponent &) = delete; }; + // interact with bombs & stop the explosion constexpr const char Blowable[] = "Blowable"; + // interact with bombs (getting damage etc) but doesn't stop explosion + constexpr const char BlowablePass[] = "BlowablePass"; } diff --git a/sources/System/BombHolder/BombHolderSystem.cpp b/sources/System/BombHolder/BombHolderSystem.cpp index 6fe1055d..16e9d62b 100644 --- a/sources/System/BombHolder/BombHolderSystem.cpp +++ b/sources/System/BombHolder/BombHolderSystem.cpp @@ -44,7 +44,7 @@ namespace BBM return; wal.getScene()->scheduleNewEntity("explosion") .addComponent(position) - .addComponent(1s, [](WAL::Entity &explosion, WAL::Wal &wal) { + .addComponent(500ms, [](WAL::Entity &explosion, WAL::Wal &wal) { explosion.scheduleDeletion(); }) .addComponent("assets/bombs/explosion/explosion.glb", false, @@ -60,6 +60,12 @@ namespace BBM return; } } + for (auto &[entity, pos, _] : wal.getScene()->view>()) { + if (pos.position.round() == position) { + if (auto *health = entity.tryGetComponent()) + health->takeDmg(1); + } + } if (expansionDirections & ExpansionDirection::FRONT) { _dispatchExplosion(position + Vector3f{1, 0, 0}, wal, size - 1, ExpansionDirection::FRONT); } @@ -87,6 +93,14 @@ namespace BBM { this->_wal.getScene()->scheduleNewEntity("Bomb") .addComponent(position.round()) + .addComponent(1, [](WAL::Entity &entity, WAL::Wal &wal) { + // the bomb explode when hit + entity.scheduleDeletion(); + auto &pos = entity.getComponent(); + auto &bombDetails = entity.getComponent(); + BombHolderSystem::_dispatchExplosion(pos.position, wal, bombDetails.explosionRadius); + }) + .addComponent>() .addComponent(holder.damage, holder.explosionRadius, id) .addComponent(BombHolderSystem::explosionTimer, &BombHolderSystem::_bombExplosion) .addComponent( From e1fb1298d0dadb3a3282a5665e0b4f11a24eed6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Le=20Bihan?= Date: Tue, 15 Jun 2021 00:32:22 +0200 Subject: [PATCH 2/4] setting blowablePass on bonuses & player --- sources/Map/Map.cpp | 2 +- sources/Runner/GameScene.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/Map/Map.cpp b/sources/Map/Map.cpp index f0333198..2330b34b 100644 --- a/sources/Map/Map.cpp +++ b/sources/Map/Map.cpp @@ -80,7 +80,7 @@ namespace BBM return; wal.getScene()->scheduleNewEntity("Bonus") .addComponent(position) - .addComponent>() + .addComponent>() .addComponent() .addComponent(1, [](WAL::Entity &entity, WAL::Wal &wal) { entity.scheduleDeletion(); diff --git a/sources/Runner/GameScene.cpp b/sources/Runner/GameScene.cpp index 7668a043..96478a8f 100644 --- a/sources/Runner/GameScene.cpp +++ b/sources/Runner/GameScene.cpp @@ -50,7 +50,7 @@ namespace BBM .addComponent() .addComponent() .addComponent("assets/shaders/glsl330/predator.fs") - .addComponent>() + .addComponent>() //.addComponent(0) .addComponent(RAY::ModelAnimations("assets/player/player.iqm"), 3) .addComponent(BBM::Vector3f{0.25, 0, 0.25}, BBM::Vector3f{.75, 2, .75}) From 135216c53be67f12c5da7fe3b5e7b8412dc2a200 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Le=20Bihan?= Date: Tue, 15 Jun 2021 00:43:48 +0200 Subject: [PATCH 3/4] indent fixes --- sources/System/BombHolder/BombHolderSystem.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sources/System/BombHolder/BombHolderSystem.cpp b/sources/System/BombHolder/BombHolderSystem.cpp index 16e9d62b..d67f16c7 100644 --- a/sources/System/BombHolder/BombHolderSystem.cpp +++ b/sources/System/BombHolder/BombHolderSystem.cpp @@ -93,14 +93,14 @@ namespace BBM { this->_wal.getScene()->scheduleNewEntity("Bomb") .addComponent(position.round()) - .addComponent(1, [](WAL::Entity &entity, WAL::Wal &wal) { - // the bomb explode when hit - entity.scheduleDeletion(); - auto &pos = entity.getComponent(); - auto &bombDetails = entity.getComponent(); - BombHolderSystem::_dispatchExplosion(pos.position, wal, bombDetails.explosionRadius); - }) - .addComponent>() + .addComponent(1, [](WAL::Entity &entity, WAL::Wal &wal) { + // the bomb explode when hit + entity.scheduleDeletion(); + auto &pos = entity.getComponent(); + auto &bombDetails = entity.getComponent(); + BombHolderSystem::_dispatchExplosion(pos.position, wal, bombDetails.explosionRadius); + }) + .addComponent>() .addComponent(holder.damage, holder.explosionRadius, id) .addComponent(BombHolderSystem::explosionTimer, &BombHolderSystem::_bombExplosion) .addComponent( From 8f33ec9489dbd8ce6b664df381df870991b369dd Mon Sep 17 00:00:00 2001 From: "arthur.jamet" Date: Tue, 15 Jun 2021 12:51:03 +0200 Subject: [PATCH 4/4] credits: add assets mention + move raylib position --- sources/Runner/CreditScene.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sources/Runner/CreditScene.cpp b/sources/Runner/CreditScene.cpp index d87e47be..fa77c9ff 100644 --- a/sources/Runner/CreditScene.cpp +++ b/sources/Runner/CreditScene.cpp @@ -33,7 +33,7 @@ namespace BBM .addComponent(sounds); auto &raylibLogo = scene->addEntity("raylib logo") - .addComponent(1920 / 4, 1080 / 1.75, 0) + .addComponent(1920 / 3.5, 1080 / 1.75, 0) .addComponent("assets/raylib.png"); auto &raylibText = scene->addEntity("raylib text") .addComponent(1920 / 4, 1080 / 2, 0) @@ -42,8 +42,8 @@ namespace BBM .addComponent(1920 / 4, 1080 / 4, 0) .addComponent("Many Thanks to:", 35, RAY::Vector2(), BLACK); auto &BriansRepo = scene->addEntity("thx brian") - .addComponent(1920 / 3.5, 1080 / 3.5, 0) - .addComponent("Brian Guitteny (and his team)", 35, RAY::Vector2(), BLACK); + .addComponent(1920 / 3.5, 1080 / 3.25, 0) + .addComponent("Brian Guitteny (and his team)\nAssets used by their permission", 35, RAY::Vector2(), BLACK); auto &team = scene->addEntity("team") .addComponent(1920 / 1.5, 1080 / 3.5, 0) .addComponent("Team:\n Zoe Roux\n Clément Le Bihan\n Arthur Jamet\n Louis Auzuret\n Benjamin Henry\n Tom Augier", 35, RAY::Vector2(), BLACK);