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:
1 parent
e84d8cc535
commit
505e819af1
6 files changed
+60
-20
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user