10 #include <unordered_map> 13 #include <SFML/Graphics/Texture.hpp> 14 #include <SFML/System/Vector2.hpp> 16 #include <NasNas/core/data/Rect.hpp> 17 #include <NasNas/tilemapping/PropertiesContainer.hpp> 18 #include <NasNas/tilemapping/Tile.hpp> 24 struct TileAnimFrame {
29 std::vector<TileAnimFrame> frames;
33 TilesetData(
const pugi::xml_node& xml_node,
const std::string& base_path);
36 auto getTexture()
const ->
const sf::Texture&;
37 auto getTileData(std::uint32_t
id)
const ->
const TileData&;
38 auto getTileTexCoo(std::uint32_t
id, Tile::Flip flip=Tile::Flip::None)
const -> std::vector<sf::Vector2f>;
39 auto getTileTextureRect(std::uint32_t
id)
const ->
ns::IntRect;
41 const std::string name;
42 const unsigned int tilewidth;
43 const unsigned int tileheight;
44 const unsigned int tilecount;
45 const unsigned int columns;
46 const unsigned int margin;
47 const unsigned int spacing;
50 std::string m_image_source;
51 sf::Texture* m_texture;
52 std::vector<TileData> m_tiles_data;
59 const unsigned int firstgid;
64 static auto get(
const std::string& tsx_file_name) ->
const TilesetData&;
68 std::unordered_map<std::string, TilesetData> m_shared_tilesets;