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
|
#include <functional>
#include "engine/resource/resource.hpp"
#include "engine/resource/resource_manager.hpp"
#include "engine/display/sprite.hpp"
class SpriteLoader
{
private:
std::string m_key;
public:
SpriteLoader(const std::string& key) :
m_key(key)
{}
Sprite operator()()
{
return Sprite(m_key);
}
};
int main()
{
typedef resource::ResourceManager<std::string, Sprite, SpriteLoader> SpriteResourceManager;
SpriteResourceManager resource_mgr;
resource::Resource<Sprite> sprite = resource_mgr.get("image/entrances/snow");
std::function<Sprite()> func(SpriteLoader("Hello World"));
return 0;
}
/* EOF */
|