blob: 660b3189c246781db29c9d3d040471c92c7b114b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#include <crepe/api/AssetManager.h>
#include <crepe/api/Texture.h>
#include <crepe/facade/Sound.h>
using namespace crepe;
int main() {
// this needs to be called before the asset manager otherwise the destructor of sdl is not in
// the right order
{ Texture test("asset/texture/img.png"); }
// FIXME: make it so the issue described by the above comment is not possible (i.e. the order
// in which internal classes are instantiated should not impact the way the engine works).
auto & mgr = AssetManager::get_instance();
{
// TODO: [design] the Sound class can't be directly included by the user as it includes
// SoLoud headers.
auto bgm = mgr.cache<Sound>("mwe/audio/bgm.ogg");
auto sfx1 = mgr.cache<Sound>("mwe/audio/sfx1.wav");
auto sfx2 = mgr.cache<Sound>("mwe/audio/sfx2.wav");
auto img = mgr.cache<Texture>("asset/texture/img.png");
auto img1 = mgr.cache<Texture>("asset/texture/second.png");
}
{
auto bgm = mgr.cache<Sound>("mwe/audio/bgm.ogg");
auto sfx1 = mgr.cache<Sound>("mwe/audio/sfx1.wav");
auto sfx2 = mgr.cache<Sound>("mwe/audio/sfx2.wav");
auto img = mgr.cache<Texture>("asset/texture/img.png");
auto img1 = mgr.cache<Texture>("asset/texture/second.png");
}
}
|