mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-27 22:49:25 +02:00
Start implementing map saver
This commit is contained in:
@@ -51,6 +51,8 @@ static EventCondition JsonToCondition(const JsonNode & node)
|
||||
}
|
||||
|
||||
///CMapFormatJson
|
||||
const std::string CMapFormatJson::HEADER_FILE_NAME = "header.json";
|
||||
|
||||
void CMapFormatJson::readTriggeredEvents(const JsonNode & input)
|
||||
{
|
||||
mapHeader->victoryMessage = input["victoryString"].String();
|
||||
@@ -183,15 +185,40 @@ void CMapLoaderJson::readPlayerInfo()
|
||||
}
|
||||
|
||||
///CMapSaverJson
|
||||
CMapSaverJson::CMapSaverJson(COutputStream * stream):
|
||||
output(stream)
|
||||
CMapSaverJson::CMapSaverJson(CInputOutputStream * stream):
|
||||
output(stream),
|
||||
ioApi(new CProxyIOApi(output)),
|
||||
saver(ioApi, "_")
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CMapSaverJson::~CMapSaverJson()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CMapSaverJson::saveMap(const std::unique_ptr<CMap>& map)
|
||||
{
|
||||
//TODO: saveMap
|
||||
this->map = map.get();
|
||||
}
|
||||
|
||||
void CMapSaverJson::saveHeader()
|
||||
{
|
||||
JsonNode header;
|
||||
//TODO: save header
|
||||
|
||||
header["name"].String() = map->name;
|
||||
|
||||
std::ostringstream out;
|
||||
out << header;
|
||||
out.flush();
|
||||
|
||||
{
|
||||
auto s = out.str();
|
||||
auto stream = saver.addFile(HEADER_FILE_NAME);
|
||||
|
||||
stream->write((const ui8*)s.c_str(), s.size());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user