Ejemplo n.º 1
0
	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);
		}
	}
Ejemplo n.º 2
0
	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);
		}
	}
Ejemplo n.º 3
0
	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);
		}
	}
Ejemplo n.º 4
0
	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);
		}
	}
Ejemplo n.º 5
0
	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);
		}
	}