HC-06: rutes d'assets de GameScene a Defaults::Pyramid + Config

Afegits `Defaults::Pyramid::{MAP_YAML, PLAYER_SPRITE, PLAYER_YAML,
MUSIC_TRACK}` a utils/defaults.hpp. `GameScene` exposa `Config` i
`defaultConfig()`; el ctor accepta Config (default = Defaults::Pyramid)
i usa els camps enlloc dels literals. `Player` passa a rebre el anim_key
per constructor en lloc de cablejar "player.yaml". Cache key = basename
(convenció preexistent). Cada piràmide futura serà un Config distint.
This commit is contained in:
JailDesigner committed 2026-04-20 17:52:53 +02:00
1 parent e84d8cc535
commit 505e819af1
6 files changed
+60 -20

No files matched your search

+15 -1
View File
@@ -1,6 +1,7 @@
#pragma once
#include <memory>
#include <string>
#include <vector>
#include "core/scene/scene.hpp"
@@ -10,13 +11,26 @@ class Player;
class GameScene : public Scene {
public:
GameScene();
// 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