void Map::loadSceneLightsFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser) { std::shared_ptr<XmlChunk> lightsListChunk = xmlParser.getUniqueChunk(true, LIGHTS_TAG, XmlAttribute(), chunk); std::vector<std::shared_ptr<XmlChunk>> lightsChunk = xmlParser.getChunks(LIGHT_TAG, XmlAttribute(), lightsListChunk); for (const auto &lightChunk : lightsChunk) { auto *sceneLight = new SceneLight(); sceneLight->loadFrom(lightChunk, xmlParser); addSceneLight(sceneLight); } }
void Map::loadSceneObjectsFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser) { std::shared_ptr<XmlChunk> objectsListChunk = xmlParser.getUniqueChunk(true, OBJECTS_TAG, XmlAttribute(), chunk); std::vector<std::shared_ptr<XmlChunk>> objectsChunk = xmlParser.getChunks(OBJECT_TAG, XmlAttribute(), objectsListChunk); for (const auto &objectChunk : objectsChunk) { auto *sceneObject = new SceneObject(); sceneObject->loadFrom(objectChunk, xmlParser); addSceneObject(sceneObject); } }
void Map::loadSceneWaterFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser) { std::shared_ptr<XmlChunk> watersListChunk = xmlParser.getUniqueChunk(true, WATERS_TAG, XmlAttribute(), chunk); std::vector<std::shared_ptr<XmlChunk>> watersChunk = xmlParser.getChunks(WATER_TAG, XmlAttribute(), watersListChunk); for (const auto &waterChunk : watersChunk) { auto *sceneWater = new SceneWater(); sceneWater->loadFrom(waterChunk, xmlParser); addSceneWater(sceneWater); } }
void Map::loadSceneSoundsFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser) { std::shared_ptr<XmlChunk> soundElementsListChunk = xmlParser.getUniqueChunk(true, SOUND_ELEMENTS_TAG, XmlAttribute(), chunk); std::vector<std::shared_ptr<XmlChunk>> soundElementsChunk = xmlParser.getChunks(SOUND_ELEMENT_TAG, XmlAttribute(), soundElementsListChunk); for (const auto &soundElementChunk : soundElementsChunk) { auto *sceneSound = new SceneSound(); sceneSound->loadFrom(soundElementChunk, xmlParser); addSceneSound(sceneSound); } }
void Map::loadSceneTerrainFrom(const std::shared_ptr<XmlChunk> &chunk, const XmlParser &xmlParser) { std::shared_ptr<XmlChunk> terrainsListChunk = xmlParser.getUniqueChunk(true, TERRAINS_TAG, XmlAttribute(), chunk); std::vector<std::shared_ptr<XmlChunk>> terrainsChunk = xmlParser.getChunks(TERRAIN_TAG, XmlAttribute(), terrainsListChunk); for (const auto &terrainChunk : terrainsChunk) { auto *sceneTerrain = new SceneTerrain(); sceneTerrain->loadFrom(terrainChunk, xmlParser); addSceneTerrain(sceneTerrain); } }