]> git.localhorst.tv Git - blobs.git/blob - src/app/Assets.hpp
basic creature model
[blobs.git] / src / app / Assets.hpp
1 #ifndef BLOBS_APP_ASSETS_HPP_
2 #define BLOBS_APP_ASSETS_HPP_
3
4 #include "../graphics/ArrayTexture.hpp"
5 #include "../graphics/CreatureSkin.hpp"
6 #include "../graphics/PlanetSurface.hpp"
7 #include "../graphics/SunSurface.hpp"
8
9 #include <string>
10
11
12 namespace blobs {
13 namespace app {
14
15 struct Assets {
16
17         std::string path;
18         std::string tile_path;
19         std::string skin_path;
20
21         struct {
22                 graphics::ArrayTexture tiles;
23                 graphics::ArrayTexture skins;
24         } textures;
25
26         struct {
27                 graphics::PlanetSurface planet_surface;
28                 graphics::SunSurface sun_surface;
29                 graphics::CreatureSkin creature_skin;
30         } shaders;
31
32         Assets();
33         ~Assets();
34
35         Assets(const Assets &) = delete;
36         Assets &operator =(const Assets &) = delete;
37
38         Assets(Assets &&) = delete;
39         Assets &operator =(Assets &&) = delete;
40
41         void LoadTileTexture(const std::string &name, graphics::ArrayTexture &, int layer) const;
42         void LoadSkinTexture(const std::string &name, graphics::ArrayTexture &, int layer) const;
43
44 };
45
46 }
47 }
48
49 #endif