feat(demo): demos a 1 i 2 jugadors, esquiva de bales enemigues i vides infinites

This commit is contained in:
2026-05-28 13:14:19 +02:00
parent 92f76d091d
commit 455b7a6893
6 changed files with 158 additions and 55 deletions
+5 -1
View File
@@ -20,6 +20,7 @@
#include "core/rendering/shape_renderer.hpp"
#include "core/system/scene_context.hpp"
#include "core/system/service_menu.hpp"
#include "game/systems/demo_pilot.hpp"
#include "project.h"
using SceneManager::SceneContext;
@@ -359,9 +360,12 @@ void TitleScene::update(float delta_time) {
idle_timer_ += delta_time;
}
if (idle_timer_ >= TITLE_DEMO_TIMEOUT) {
// L'escenari curat (mateix índex que llegirà GameScene) decideix
// quants jugadors IA hi ha. No avancem l'índex ací: ho fa GameScene.
const Systems::Demo::Scenario SC = Systems::Demo::scenario(context_.demoScenarioIndex());
GameConfig::MatchConfig demo_cfg;
demo_cfg.player1_active = true;
demo_cfg.player2_active = false;
demo_cfg.player2_active = (SC.players >= 2);
demo_cfg.mode = GameConfig::Mode::DEMO;
context_.setMatchConfig(demo_cfg);
context_.setNextScene(SceneType::GAME);