refactor(maps): pyramid.yaml per piràmide amb merge a sala
This commit is contained in:
1 parent
5f206e03c8
commit
125cdd0c74
45 files changed
+331
-1085
No files matched your search
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "external/fkyaml_node.hpp"
|
||||
|
||||
// Carregador de YAMLs de sala amb fusió per piràmide. Cada piràmide pot
|
||||
// tenir un `pyramid.yaml` germà al directori de sala que aporta camps
|
||||
// compartits (tileset, lighting, push_factor, paint_tiles...); el YAML
|
||||
// de sala només declara el que canvia (data, entities, geometry, room).
|
||||
//
|
||||
// Regles de fusió:
|
||||
// - mapes: fusió recursiva, claus de la sala guanyen
|
||||
// - sequences i escalars: la sala substitueix sencer
|
||||
//
|
||||
// Si no hi ha `pyramid.yaml` al directori, retorna només el YAML de sala
|
||||
// sense modificacions — així rutes externes (tests, mapes solts) segueixen
|
||||
// funcionant igual.
|
||||
namespace RoomYaml {
|
||||
|
||||
auto loadMerged(const std::string& room_yaml_path) -> fkyaml::node;
|
||||
|
||||
} // namespace RoomYaml
|
||||
Reference in new issue
Block a user