]> git.localhorst.tv Git - blank.git/blob - src/app/Assets.hpp
cube map textures
[blank.git] / src / app / Assets.hpp
1 #ifndef BLANK_APP_ASSETS_HPP_
2 #define BLANK_APP_ASSETS_HPP_
3
4 #include "../graphics/Font.hpp"
5
6 #include <string>
7
8
9 namespace blank {
10
11 class ArrayTexture;
12 class BlockTypeRegistry;
13 class CubeMap;
14 class Sound;
15 class Texture;
16 class TextureIndex;
17
18 class AssetLoader {
19
20 public:
21         explicit AssetLoader(const std::string &base);
22
23         void LoadBlockTypes(const std::string &set_name, BlockTypeRegistry &, TextureIndex &) const;
24         CubeMap LoadCubeMap(const std::string &name) const;
25         Font LoadFont(const std::string &name, int size) const;
26         Sound LoadSound(const std::string &name) const;
27         Texture LoadTexture(const std::string &name) const;
28         void LoadTexture(const std::string &name, ArrayTexture &, int layer) const;
29         void LoadTextures(const TextureIndex &, ArrayTexture &) const;
30
31 private:
32         std::string fonts;
33         std::string sounds;
34         std::string textures;
35         std::string data;
36
37 };
38
39 struct Assets {
40
41         Font large_ui_font;
42         Font small_ui_font;
43
44         Assets(const AssetLoader &);
45
46 };
47
48 }
49
50 #endif