27 lines
851 B
C++
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
|