MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / store

Method store

source/game/StarWorldStructure.cpp:233–265  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

231}
232
233Json WorldStructure::store() const {
234 auto overlayToJson = [](Overlay const& o) -> Json {
235 return JsonObject{{"min", jsonFromVec2F(o.min)}, {"image", o.image}, {"fullbright", o.fullbright}};
236 };
237
238 auto blockToJson = [](Block const& b) -> Json {
239 return JsonObject{{"position", jsonFromVec2I(b.position)}, {"materialId", b.materialId}, {"residual", b.residual}};
240 };
241
242 auto objectToJson = [](Object const& o) -> Json {
243 return JsonObject{
244 {"position", jsonFromVec2I(o.position)},
245 {"name", o.name},
246 {"direction", DirectionNames.getRight(o.direction)},
247 {"parameters", o.parameters},
248 {"residual", o.residual},
249 };
250 };
251
252 return JsonObject{{"region", jsonFromRectI(m_region)},
253 {"anchorPosition", jsonFromVec2I(m_anchorPosition)},
254 {"config", m_config},
255 {"backgroundOverlays", m_backgroundOverlays.transformed(overlayToJson)},
256 {"foregroundOverlays", m_foregroundOverlays.transformed(overlayToJson)},
257 {"backgroundBlocks", m_backgroundBlocks.transformed(blockToJson)},
258 {"foregroundBlocks", m_foregroundBlocks.transformed(blockToJson)},
259 {"objects", m_objects.transformed(objectToJson)},
260 {"flaggedBlocks",
261 transform<JsonObject>(m_flaggedBlocks,
262 [](pair<String, List<Vec2I>> const& p) {
263 return pair<String, Json>(p.first, p.second.transformed(jsonFromVec2I));
264 })}};
265}
266
267}

Callers

nothing calls this directly

Calls 4

jsonFromVec2FFunction · 0.85
jsonFromVec2IFunction · 0.85
jsonFromRectIFunction · 0.85
transformedMethod · 0.45

Tested by

no test coverage detected