]> git.localhorst.tv Git - blank.git/blob - src/app/Assets.hpp
actually load shapes
[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 ShapeRegistry;
15 class Sound;
16 class Texture;
17 class TextureIndex;
18
19 class AssetLoader {
20
21 public:
22         explicit AssetLoader(const std::string &base);
23
24         void LoadBlockTypes(const std::string &set_name, BlockTypeRegistry &, TextureIndex &) const;
25         CubeMap LoadCubeMap(const std::string &name) const;
26         Font LoadFont(const std::string &name, int size) const;
27         void LoadShapes(const std::string &set_name, ShapeRegistry &) const;
28         Sound LoadSound(const std::string &name) const;
29         Texture LoadTexture(const std::string &name) const;
30         void LoadTexture(const std::string &name, ArrayTexture &, int layer) const;
31         void LoadTextures(const TextureIndex &, ArrayTexture &) const;
32
33 private:
34         std::string fonts;
35         std::string sounds;
36         std::string textures;
37         std::string data;
38
39 };
40
41 struct Assets {
42
43         Font large_ui_font;
44         Font small_ui_font;
45
46         Assets(const AssetLoader &);
47
48 };
49
50 }
51
52 #endif