MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / dump

Method dump

src/Core/Scene/Scene.cpp:191–251  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

189 }
190
191 vili::node Scene::dump() const
192 {
193 vili::node result;
194
195 // Meta
196 result["Meta"] = vili::object { { "name", m_levelName } };
197
198 // View
199 result["View"] = vili::object {};
200 result["View"]["size"] = m_camera.getSize().y / 2;
201 result["View"]["position"] = vili::object { { "x", m_cameraInitialPosition.x },
202 { "y", m_cameraInitialPosition.y },
203 { "unit", unitsToString(m_cameraInitialPosition.unit) } };
204 result["View"]["referential"] = m_cameraInitialReferential.toString("{}");
205
206 // Sprites
207 if (!m_spriteArray.empty())
208 result["Sprites"] = vili::object {};
209 for (auto& sprite : m_spriteArray)
210 {
211 if (sprite->getParentId().empty())
212 {
213 result["Sprites"][sprite->getId()] = sprite->dump();
214 }
215 }
216
217 // Collisions
218 if (!m_colliderArray.empty())
219 result["Collisions"] = vili::object {};
220 for (auto& collider : m_colliderArray)
221 {
222 if (collider->getParentId().empty())
223 {
224 result["Collisions"][collider->getId()] = collider->dump();
225 }
226 }
227
228 // GameObjects
229 if (!m_gameObjectArray.empty())
230 result["GameObjects"] = vili::object {};
231 for (auto& gameObject : m_gameObjectArray)
232 {
233 result["GameObjects"][gameObject->getId()] = gameObject->dump();
234 }
235
236 // Scripts
237 if (!m_scriptArray.empty())
238 {
239 result["Script"] = vili::object {};
240 if (m_scriptArray.size() == 1)
241 {
242 result.at("Script")["source"] = m_scriptArray[0];
243 }
244 else
245 {
246 result.at("Script")["sources"]
247 = vili::array(m_scriptArray.begin(), m_scriptArray.end());
248 }

Callers 3

LoadClassNodeFunction · 0.45
initWindowMethod · 0.45
executeInstructionMethod · 0.45

Calls 11

unitsToStringFunction · 0.85
arrayClass · 0.85
getIdMethod · 0.80
getSizeMethod · 0.45
toStringMethod · 0.45
emptyMethod · 0.45
getParentIdMethod · 0.45
sizeMethod · 0.45
atMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected