feat(editor): el SAVE_PATH segueix la sala carregada
El writer del tilemap deixa de fer servir la constant Defaults::Editor::SAVE_PATH (que apuntava a data/maps/pyramid.yaml) i demana al LevelManager el path actual. Resultat: editar i guardar desa la sala que tens davant — no l'antic mapa monolític — i salts debug entre sales canviaran també el destí del save.
This commit is contained in:
1 parent
9d4f92c98b
commit
d52cc1c509
2 files changed
+8
-7
No files matched your search
@@ -14,6 +14,7 @@
|
||||
#include "core/resources/resource_cache.hpp"
|
||||
#include "core/resources/resource_helper.hpp"
|
||||
#include "core/system/event_buffer.hpp"
|
||||
#include "game/levels/level_manager.hpp"
|
||||
#include "game/map/tilemap.hpp"
|
||||
#include "utils/defaults.hpp"
|
||||
#include "utils/defines.hpp"
|
||||
@@ -76,11 +77,13 @@ void Editor::exit(Tilemap& tilemap) {
|
||||
if (!active_) { return; }
|
||||
active_ = false;
|
||||
picker_open_ = false;
|
||||
// Resolem la ruta via Resource::Helper perquè en Debug el root de
|
||||
// dades és AEE_SOURCE_DIR (ruta absoluta al repo), no el CWD. Sense
|
||||
// això, el writer obriria `data/maps/pyramid.yaml` relatiu al CWD
|
||||
// i fallaria sempre excepte si el binari es llança des del repo root.
|
||||
const auto ABS_PATH = Resource::Helper::resolve(Defaults::Editor::SAVE_PATH);
|
||||
// El writer salva sempre sobre la sala actualment carregada (segons
|
||||
// el LevelManager): així el "9" de l'editor desa el que tens davant,
|
||||
// no una constant fixa. Resolem la ruta via Resource::Helper perquè
|
||||
// en Debug el root de dades és AEE_SOURCE_DIR (ruta absoluta al repo),
|
||||
// no el CWD; sense això, el writer obriria el path relatiu al CWD i
|
||||
// fallaria si el binari no es llança des del repo root.
|
||||
const auto ABS_PATH = Resource::Helper::resolve(Levels::LevelManager::get().currentPath());
|
||||
const bool SAVED = tilemap.save(ABS_PATH);
|
||||
Notification::notify(Locale::get().text(SAVED ? "input.editor_off" : "input.editor_save_error"));
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user