Files

27 lines
851 B
C++

#pragma once
#ifdef _DEBUG
#include <string>
// Writer surgical de claus dins del bloc `geometry:` d'un YAML de nivell.
// Reescriu un escalar (p.ex. `door_col: N`) preservant byte a byte la
// resta del fitxer: comentaris, ordre de claus, format i indentació de
// la resta del `geometry:` i la resta de seccions.
//
// Pensat per al editor (Debug): quan el dissenyador mou la porta, només
// canvia `door_col`; tota la resta del YAML segueix igual.
//
// Si `geometry:` no existeix al fitxer, retorna false. Si la clau no
// existeix dins del bloc, l'afegeix al final del bloc, indentada com
// les altres entrades del mateix nivell.
//
// Escriptura atòmica via `<path>.tmp` + `std::filesystem::rename`.
namespace MapWriter {
auto saveDoorCol(const std::string& path, int door_col) -> bool;
} // namespace MapWriter
#endif // _DEBUG