GameKit  0.0.1a
C++ gamedev tools
TilesetLoader.cpp
Go to the documentation of this file.
1 /*
2  * =====================================================================================
3  *
4  * Filename: TilesetLoader.cpp
5  *
6  * Description:
7  *
8  * Created: 15/02/2019 19:37:30
9  *
10  * Author: Quentin Bazin, <quent42340@gmail.com>
11  *
12  * =====================================================================================
13  */
14 #include "gk/core/XMLFile.hpp"
15 #include "gk/graphics/Tileset.hpp"
18 
19 namespace gk {
20 
21 void TilesetLoader::load(const char *xmlFilename, ResourceHandler &handler) {
22  XMLFile doc(xmlFilename);
23 
24  tinyxml2::XMLElement *tilesetElement = doc.FirstChildElement("tilesets").FirstChildElement("tileset").ToElement();
25  while(tilesetElement) {
26  std::string name = tilesetElement->Attribute("name");
27  std::string filename = "resources/graphics/tilesets/" + name + ".png";
28 
29  std::string configFile = "resources/tilesets/" + name + ".tsx";
30 
31  handler.add<Tileset>(name, filename, configFile);
32 
33  tilesetElement = tilesetElement->NextSiblingElement("tileset");
34  }
35 }
36 
37 } // namespace gk
38 
tinyxml2::XMLHandle FirstChildElement(const char *element)
Definition: XMLFile.hpp:30
T & add(const std::string &name, Args &&...args)
void load(const char *xmlFilename, ResourceHandler &handler)