1 #ifndef BLOBS_APP_ASSETS_HPP_
2 #define BLOBS_APP_ASSETS_HPP_
4 #include "../graphics/ArrayTexture.hpp"
5 #include "../graphics/CreatureSkin.hpp"
6 #include "../graphics/PlanetSurface.hpp"
7 #include "../graphics/SunSurface.hpp"
8 #include "../world/Resource.hpp"
9 #include "../world/Set.hpp"
10 #include "../world/TileType.hpp"
17 class TokenStreamReader;
24 std::string data_path;
25 std::string skin_path;
26 std::string tile_path;
29 world::Set<world::Resource> resources;
30 world::Set<world::TileType> tiles;
34 graphics::ArrayTexture tiles;
35 graphics::ArrayTexture skins;
39 graphics::PlanetSurface planet_surface;
40 graphics::SunSurface sun_surface;
41 graphics::CreatureSkin creature_skin;
47 Assets(const Assets &) = delete;
48 Assets &operator =(const Assets &) = delete;
50 Assets(Assets &&) = delete;
51 Assets &operator =(Assets &&) = delete;
53 void ReadResources(io::TokenStreamReader &);
54 void ReadTileTypes(io::TokenStreamReader &);
56 void LoadTileTexture(const std::string &name, graphics::ArrayTexture &, int layer) const;
57 void LoadSkinTexture(const std::string &name, graphics::ArrayTexture &, int layer) const;