#pragma once #include #include #include #include "core/scene/scene.hpp" #include "game/map/tilemap.hpp" class Player; class GameScene : public Scene { public: // Conjunt de rutes que defineixen una piràmide concreta (mapa + tilemap // + sprites del jugador + música). Cada piràmide serà un Config distint; // `defaultConfig()` retorna la primera (Defaults::Pyramid). struct Config { std::string map_yaml; std::string player_sprite; std::string player_yaml; std::string music_track; }; [[nodiscard]] static auto defaultConfig() -> Config; explicit GameScene(Config config = defaultConfig()); ~GameScene() override; void update(int delta_ms) override; void render() override; private: Config config_; Tilemap tilemap_; // Vector des del principi: AEE suportarà multijugador local; cada Player // té els seus propis Controls i entra al vector amb una crida extra. std::vector> players_; };